我有ListView
Custom Adapter
。我看过this thread,人们询问自定义视图中的项目是否有可点击的项目。是的,我在ImageView
中有一个可点击的listrow
。因此,点击其他任何地方(ImageView
除外)应执行其他操作。我向onItemClickListener
提供了ListView
。但是,它不会在第一次单击时起作用,并且可以在两次三次单击时工作。
更新: 在我的适配器的getView方法中,我设置了像这样的onView:
holder.chatImageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Stuff here
}
});
它工作正常,在我的活动中,我将onItemClickListener
给了listView:
onlineListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view,
int position, long id) {
//Stuff here
}
});
PS:我没有明确表达任何关注。
答案 0 :(得分:1)
前段时间我遇到了同样的问题,但是CheckBox
,我通过创建onClickListener
作为自定义适配器的成员来解决它。例如
public MyAdapter extends BaseAdapter{
// ... ..
// ... ...
private OnClickListener imageClickListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
/// your data .getTag()
// process onClickListener for image
}
};
}
然后,在getView
:
if (convertView == null){
//Create your views and register onClickListener
holder.chatImageView.setOnClickListener(imageClickListener);
}
在xml中为您的图片添加android:focusable="false"
。
希望它有所帮助,这里有entire example: