【发布时间】:2023-04-03 03:56:01
【问题描述】:
我有一个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,但每个解决方案要么对所有卡片项目启动相同的意图,要么给出一些或其他错误
如果需要,我可以发布我的整个项目。
【问题讨论】:
-
您要启动的 Intent。你想在里面放什么数据?我说你想传递绑定到视图的颜色数据是否正确?
-
@asadmshah 我想这是正确的。我有组成各种卡片的颜色数据字符串数组,对于每张卡片,我希望开始不同的意图。要我发一个截图供参考吗?
-
我知道你想要一个不同的 Intent 但是你想要不同的 Intent 呢?它里面的附加功能还是您打算根据所选视图调用完全不同的活动?是的,屏幕截图可能会有所帮助。
-
哦,对不起。我想开始一项全新的活动。我想在未来对新的卡片组进行扩展视图,但我想现在就学习。附言我正在制作一个材料设计颜色样本的静态应用程序。
-
我知道。我要问的是,您是否计划根据单击的视图启动类似 Activity1、Activity2、Activity3 的内容,或者您是否要启动新的 ActivityWhatever 但只需更改其中的 Intent Extras 数据?
标签: android android-adapter android-recyclerview android-cardview