0

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

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

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"
/>

感谢您的任何评论。

4

1 回答 1

0

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

于 2013-08-15T17:56:44.397 回答