在GridView中对ImageView执行onClickListener

时间:2013-07-11 13:31:17

标签: android gridview imageview onitemclicklistener

我有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进行操作?

3 个答案:

答案 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)为真。