我的项目有一个activity命名ResultActivity.java和adapter命名VoyageAdapter.java。有一个string值ResultActivity,我想发送string给VoyageAdapter.java。这该怎么做?ResultActivity.javapublic class ResultActivity extends AppCompatActivity { private String fBus; }我想发送和使用string这一部分VoyageAdapter.javaVoyageAdapter.java public class VoyageAdapter extends RecyclerView.Adapter<VoyageAdapter.ViewHolder> { @Overridepublic VoyageAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()) .inflate(R.layout.row_voyage_view_bus, parent, false); return new ViewHolder(itemView);}}MyBaseVoyageFragment.javapublic abstract class MyBaseVoyageFragment extends Fragment {protected String owner; protected View fragmentView; protected String fBus;protected RecyclerView mRecyclerView; protected VoyageAdapter voyageAdapter; protected RecyclerView.LayoutManager mLayoutManager;protected ArrayList<Voyage> voyageList;protected View errorView;public String BROADCAST_TAG = "com.bss.voyage";protected int direction = MyConstants.DIRECTION_GOING;ParseIntentDataAndLoadVoyagesAdapter parseIntentDataAndLoadVoyagesAdapter;protected void init(String owner, int direction) { mRecyclerView = fragmentView.findViewById(R.id.my_recycler_view); mLayoutManager = new LinearLayoutManager(getContext()); mRecyclerView.setLayoutManager(mLayoutManager); this.owner = owner;}void loadVoyagesToAdapter() { if (voyageAdapter == null) { voyageAdapter = new VoyageAdapter(getActivity(), voyageList, fBus, mRecyclerView); fBus="none"; Log.v(fBus, "FRAGMENT BUS"); mRecyclerView.setAdapter(voyageAdapter); } else { voyageAdapter.updateList(voyageList); // sonraki güne geçtiğimde yeni bir voyageadapter oluşturmuyorum. } if (voyageList.size() < 1 ) { setErrorView(MyConstants.ERROR_NO_VOYAGE); }}
5 回答

小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
试试这个
在你的适配器中创建一个具有字符串值的构造函数。
public class VoyageAdapter extends RecyclerView.Adapter<VoyageAdapter.ViewHolder> { private String fBus; public VoyageAdapter (Context _context, List<Voyage> _voyageList,RecyclerView recyclerView,String fBus) { this.context = _context; this.voyageList = _voyageList; this.recyclerView = recyclerView; this.fBus= fBus; }}

UYOU
TA贡献1878条经验 获得超4个赞
将字符串值从活动传递给适配器非常简单。创建适配器类参数化构造函数以传递字符串值
像这样:
主要活动
String myValue="User Name"; TodayAdapter todayAdapter = new TodayAdapter(MainActivity.this,myValue);myRecyler.setAdapter(todayAdapter);
TodayAdapter.Java
Context context;String dataValue; public TodayAdapter(Context context, String dataValue) { this.context = context; this.dataValue = dataValue; }

翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
你应该添加构造函数
String test=""; OrdersAdapter(Context context, ArrayList<OrdersModel> ordersList,String test) { this.test=test; } and create adapter like this: ordersAdapter = new OrdersAdapter(this, filterOrdersList,"test");

繁花不似锦
TA贡献1851条经验 获得超4个赞
您可以在适配器中创建公共方法并调用它来设置String值(与任何其他setter一样)
此外,如果在创建适配器之前确定此String值,则可以通过适配器的构造函数设置它。
添加回答
举报
0/150
提交
取消