【发布时间】:2013-09-02 05:02:27
【问题描述】:
我有问题。
图像视图的点击事件没有在适配器的getView方法中被调用。我很困惑为什么会这样。代码对我来说似乎没问题。
以下是我的代码:
//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView = null;
if (convertView == null) {
imageView = new ImageView(act);
imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
imageView.setTag(position);
} else {
imageView = (ImageView) convertView;
}
if((Integer)imageView.getTag() == 0) {
imageView.setLayoutParams(new GridView.LayoutParams(200, 200));
imageView.setPadding(10, 5, 10, 5);
Bitmap bitmap = ThumbnailUtils.extractThumbnail(imgPic.get(position).getBitmap(), 200, 200);
imageView.setImageBitmap(bitmap);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
imageView.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//TODO Auto-generated method stub
if((Integer)v.getTag() != 0) {
//opens the image to view.
//Intent
}
}
});
}
注意:我有一个网格视图。网格视图中的第一项是始终存在的相机图像。单击此按钮将打开相机。捕获图像后,它们应与此相机图像对齐。
所以arraylist有一个相机的位图图像,然后是捕获图像的文件路径。
【问题讨论】:
-
你在哪里将你的 imageView 添加到父级?
-
你是否也在那个特定的 listView 上实现了 onItemClickListener...?
-
@user2045570:我正在将此适配器添加到 Gridview。实际上我正在捕获图像,然后在网格视图中设置捕获的图像。然后为了打开图片(从gridview),点击事件在imageview上
-
@Faizan:当我可以在网格视图中拥有 imageview 的 clicklistener 时,需要实现 onItemClickListener 吗
-
是的,不需要......只要确保如果你实现 onItemClickListener..那么在适配器中定义的 onClicklister 永远不会被调用。
标签: android android-imageview onclicklistener baseadapter