首先我想说的是,这个问题似乎以前有人问过,但我已经尝试过之前关于这个问题建议的所有解决方案,这就是我提出这个问题的原因。
现在的问题是,我正在使用 Gridview 来显示图像,我已经在 Gridview 的 getview 方法中对图像设置了 clicklistener,但是我无法点击第一张图像,所有其他图像都被点击了但是当我第一次点击时image 它的 onclick 事件没有触发,当我点击其他图像或任何其他 View 时它会触发。 任何人以前都可以遇到这个问题,如果有任何线索,请提供帮助。这是我的代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(_activity);
} else {
imageView = (ImageView) convertView;
}
imageLoader.DisplayImage(_filePaths.get(position), imageView);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(imageWidth,
imageWidth));
// image view click listener
imageView.setOnClickListener(new OnImageClickListener(position));
return imageView;
}
class OnImageClickListener implements OnClickListener {
int _postion;
// constructor
public OnImageClickListener(int position) {
this._postion = position;
}
@Override
public void onClick(View v) {
Log.i("Clicked on Image", "Yes");
Intent i = new Intent(_activity, Slideshow.class);
i.putExtra("position", _postion);
_activity.startActivity(i);
_activity.overridePendingTransition(R.anim.slide_top_in, R.anim.slide_top_out);
}
}
最佳答案
尝试使用 GridView.setOnItemClickListener()
而不是在单个图像上设置 OnClickListener
。这是该方法的文档:http://developer.android.com/reference/android/widget/AdapterView.html#setOnItemClickListener(android.widget.AdapterView.OnItemClickListener)
关于android - GridView 第一次没有被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20813886/