我有一个RecyclerView Adapter
public class CardViewDataMainAdapter extends RecyclerView.Adapter<CardViewDataMainAdapter.ViewHolder> {
public String[] mColorData;
public CardViewDataMainAdapter(String[] colorData) {
mColorData = colorData;
}
@Override
public CardViewDataMainAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview_row, null);
ViewHolder viewHolder = new ViewHolder(itemLayoutView);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
viewHolder.card_text.setText(mColorData[position].toString());
}
@Override
public int getItemCount() {
return mColorData.length;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView card_text;
public ViewHolder(View itemLayoutView) {
super(itemLayoutView);
card_text = (TextView) itemLayoutView.findViewById(R.id.info_text);
}
@Override
public void onClick(View v) {
}
}
}
我有一个String Array
,它定义了卡的数据。大约有20个卡项目,我想启动新的intents
,它使用if else
循环或switch case
循环为每个元素启动另一个RecyclerView
活动
我试着搜索如何为RecyclerView
实现OnClickListener
,但每个解决方案要么对所有卡项目启动相同的意图,要么给出一些或其他错误
如果需要,我可以发布我的整个项目
https://i.stack.imgur.com/POcqA.jpg
好问题。遵循这个或这个。
基本上,你可以在onCreateViewHolder()中添加click监听器,并让你的适配器imeplemt OnClickListener,这样你就有了一个onClick(),其中你可以根据位置有一个开关或if()。