我有一个CardView
列表,其中包含使用RecyclerView
和Adapter
制作的大约20张卡片。
点击卡片项后,我希望它开始一个包含另一个intent
列表的新CardView
。我可以这样做,但我也希望它根据点击的卡片位置设置卡片颜色。
例如 -
如果单击卡片项Red
,它应该启动新的意图类并将卡片颜色设置为Red
的阴影(我可以定义它)。
与其他色卡项目类似。
这可能吗?
答案 0 :(得分:0)
您只需从CardView
获取Adapter
的位置。
This会帮助你。
答案 1 :(得分:0)
首先将您的颜色作为字符串传递给您的新活动,包括:
Intent mIntent = new Intent(mContext, YourNewActivity.class);
mIntent.putExtra("color", yourColorString);
startActivity(mIntent)
在你的新活动中从包中获取颜色。
String color = "#000";
Bundle bundle = getIntent().getExtras();
if(bundle != null){
color = bundle.getString(color,"#000");
}
将您的颜色传递到适配器构造函数中的适配器,然后在适配器中找到您的卡片视图并设置背景颜色,如下所示:
cardView.setBackgroundColor(Color.parseColor(color));
祝你好运。
答案 2 :(得分:0)
以这种方式做到......在你的适配器里面
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
//..... your rest code
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context,SecondActivity.class);
intent.putExtra("CardPosition",position); //for positiion
intent.putExtra("CardColor",
list.get(position).getColor()); //for value
context.startActivity(intent);
}
});
}
在第二项活动中,您可以根据您的要求获得cardview的位置...更改方法