Mur*_*dia 1 android android-layout android-cardview android-recyclerview
我在卡片视图中有两个图像视图,现在我如何设置setOnClickListeners,以便我可以知道选择哪个cardview的按钮.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();
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以将标记设置为视图.标签可以是任何对象.
holder.im2.setTag(position);
Run Code Online (Sandbox Code Playgroud)
您也可以使用密钥设置许多标签,并且密钥应该是唯一的resId.你可以在ids.xml中转储id.请参阅此
holder.im2.setTag(<res_id>, position);
Run Code Online (Sandbox Code Playgroud)
你可以得到标签
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
}
});
Run Code Online (Sandbox Code Playgroud)
您可以在ViewHolder类本身中执行此操作,而不是在onBindViewHolder中设置onClickListener
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |