gpt4 book ai didi

android - 如果我有一个动态的 RecyclerView/CardView,我怎么知道在我的 CardView 中点击了哪个按钮?

转载 作者:行者123 更新时间:2023-11-29 14:35:00 30 4
gpt4 key购买 nike

我的卡片 View 中有两个 ImageView ,现在如何设置 OnClickListeners 以便我可以知道在哪个卡片 View 中选择了哪个按钮。 im1 和 im2 是我的可点击 ImageViews

这是我的代码:

    @Override
public void onBindViewHolder(ViewHolder holder, int position) {
ConnIfInfo dataModel = ifList.get(position);
Log.d("Name", "if list name: "+dataModel.getName());
holder.name.setText(dataModel.getName());
holder.appName.setText(dataModel.getApp().toString());
if(String.valueOf(dataModel.getPreferredModeMode().toString()) .equals( String.valueOf(ProjectionTypes.OperationMode.AOA_AA)))
{
holder.im1.setImageResource(R.drawable.auto1);
holder.im2.setImageResource(R.drawable.carlife);
holder.im1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
iPhoneProjectionManager.startApp(1,"Nexus 5");
} catch (RemoteException e) {
e.printStackTrace();
}
}
});

holder.im2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
iPhoneProjectionManager.startApp(2,"Nexus 6");
} catch (RemoteException e) {
e.printStackTrace();
}

}
});

}

}
@Override
public int getItemCount() {
return ifList.size();
}

最佳答案

您可以为 View 设置标签。标签可以是任何对象。

holder.im2.setTag(position);

你也可以设置很多标签,用key,key应该是唯一的resId。您可以将 ID 转储到 ids.xml 中。引用this

holder.im2.setTag(<res_id>, position);

你可以得到标签

holder.im2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.getTag()
//or if you set with key then
v.getTag(<res_id>)
// please check for null value
}
});

您可以在 ViewHolder 类本身中设置 onClickListener,而不是在 onBindViewHolder 中设置

关于android - 如果我有一个动态的 RecyclerView/CardView,我怎么知道在我的 CardView 中点击了哪个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49277460/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com