Android GridView OnItemClickListener区域

时间:2013-08-15 15:55:14

标签: android

我有一个显示一堆缩略图的GridView。一切看起来都不错,但是当我点击一个项目时,只有图像的右上角部分会注册onitemclicklistener调用。如果我点击左下角,则没有任何反应。当我用很多图像填充gridview时,点击某些图像会在错误的位置触发调用。

以下是适配器的一些相关代码:

imageView = new ImageView(mContext);
final float scale = getBaseContext().getResources().getDisplayMetrics().density;
int pixels = (int) (155 * scale + 0.5f);
imageView.setLayoutParams(new GridView.LayoutParams(pixels, pixels));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);

以下是侦听器代码:

GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));

gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

Intent intent = new Intent(MobialGrid.this,MobialImageInd.class);
intent.putExtra("image", file[position].getAbsolutePath());
startActivity(intent);
}
});

这是网格xml:

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/gridview"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:columnWidth="160dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:paddingTop="15dp"
android:paddingBottom="15dp"    
android:background="@drawable/dark_bg_repeat"
/>

感谢您提出任何意见。

1 个答案:

答案 0 :(得分:0)

尝试在适配器的imageviews上添加侦听器,这可能会有所帮助......