Java 查找已单击视图的id或标记
我是android编程新手。我使用recyclerview+cardview+adapter来显示项目列表(图像+文本) 我正在使用上面的代码查找单击的项目。但是现在我想知道在这个项目中单击了哪种视图类型(我有一个图像和文本)Java 查找已单击视图的id或标记,java,android,android-recyclerview,Java,Android,Android Recyclerview,我是android编程新手。我使用recyclerview+cardview+adapter来显示项目列表(图像+文本) 我正在使用上面的代码查找单击的项目。但是现在我想知道在这个项目中单击了哪种视图类型(我有一个图像和文本) 谁能给我一些帮助。提前谢谢。这就是论证的目的 public void onClick(View v){ switch (v.getId()){ case R.id.textView: //your code here
谁能给我一些帮助。提前谢谢。这就是论证的目的
public void onClick(View v){
switch (v.getId()){
case R.id.textView:
//your code here
break;
case R.id.imageView:
//your code here
break;
}
}
v
是单击的视图。所以请检查它的id。使用视图的ID更改
textView
和imageView
。instanceOf不工作,显示为红色??有什么帮助吗?使用Java提供的instanceof operator这些答案都不起作用,我的问题也不一样,我特别要求在Adapter中工作的解决方案你是说你在适配器中有不同的视图
类型吗;i、 例如,重写getItemViewType()
?如果这就是您的意思,您可以在ViewHolder
上调用getItemViewType()
,以获取其类型。
holder.itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if ( v instanceOf TextView) {
// code for textview
}
if ( v instanceOf ImageView) {
// code for imageview
}
String k = user.getLid(); // from pojo class
startviewact(k);
}
});
holder.itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if ( v instanceOf TextView) {
// code for textview
}
if ( v instanceOf ImageView) {
// code for imageview
}
String k = user.getLid(); // from pojo class
startviewact(k);
}
});