我有GridView,其中项目是带有图像(ImageView)和标题(TextView)的视图。 我想在这个ImageView上执行onClick操作,但不是在整个GridView项上执行。 如果我使用此代码:
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
ImageView imageView = (ImageView) view.findViewById(R.id.image);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// some operation
}
});
}
});
只有第二次单击ImageView才能让我进行操作。 如何通过首次单击GridView对ImageView进行操作?
答案 0 :(得分:3)
当用户点击gridview时,您将onclicklistener添加到imageview,这就是您只收到第二次点击的原因。 在adaper中,当您创建imageview时,您必须编写图像的onlicklistener
答案 1 :(得分:2)
检查:OnClickListener not working for first item in GridView
尝试:
不是在GridView上设置onClickListener,而是在getView()
方法内的GridAdapter内的ImageView本身上设置它。
答案 2 :(得分:0)
您应该为适配器的onClickListener
方法中的每个ImageView
设置getView()
。另外,在ListView上设置setItemsCanFocus(boolean itemsCanFocus)
为真。