如何为不同的 CardView 项目启动新的意图?
How to start new intent for different CardView items?
我有一个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
,但每个解决方案要么对所有卡片项目启动相同的意图,要么给出一些或其他错误
如果需要,我可以 post 我的整个项目。
问得好。关注 this or this。
基本上,您可以在 onCreateViewHolder() 中添加点击侦听器,并让您的适配器执行 OnClickListener,因此您只有一个 onClick(),其中您可以根据位置进行切换或 if()。
我有一个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
,但每个解决方案要么对所有卡片项目启动相同的意图,要么给出一些或其他错误
如果需要,我可以 post 我的整个项目。
问得好。关注 this or this。
基本上,您可以在 onCreateViewHolder() 中添加点击侦听器,并让您的适配器执行 OnClickListener,因此您只有一个 onClick(),其中您可以根据位置进行切换或 if()。