我有一个gridview,有些项目有ImageViews填充父视图。当我设置onItemLongClickListener时,它适用于没有图像视图的那个,但具有图像视图的那个似乎阻止了该事件。我试图将图像视图设置为禁用,并尝试将其onclick侦听器设置为null,甚至尝试将focusable设置为false,但没有任何方法可以按照我需要的方式工作。
我没有输入任何代码,因为我的代码太长了。我只需要知道如何使整个项目可点击而不会在其内部干扰图像视图。非常感谢你。
以下是项目长按的代码段:
@Override
public boolean onItemLongClick(AdapterView gridView, View view, int position, long row) {
Toast.makeText(context, String.valueOf(position), Toast.LENGTH_SHORT).show();
return true;
}
这是网格项布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cellLayout"
android:layout_width="fill_parent"
android:layout_height="94dp"
android:layout_marginBottom="5dp"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/planner_date_mon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:paddingBottom="-5dp"
android:paddingTop="5dp"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/planner_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@color/white"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/planner_date_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:paddingBottom="10dp"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@android:color/white" >
<ImageView
android:id="@+id/planner_meal_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/margin"
android:layout_marginRight="@dimen/margin"
android:layout_marginTop="@dimen/margin"
android:layout_marginBottom="@dimen/margin"
android:adjustViewBounds="true"
android:background="@android:color/white"
android:scaleType="fitXY"
android:src="@drawable/howto"
android:visibility="gone" />
<TextView
android:id="@+id/planner_meal_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:ellipsize="marquee"
android:gravity="center_horizontal|top"
android:background="@color/white"
android:singleLine="true"
android:textColor="@android:color/black"
android:visibility="gone" />
<ImageView
android:id="@+id/planner_meal_image2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@color/red"
android:scaleType="centerInside"
android:visibility="gone" />
<ImageView
android:id="@+id/planner_meal_type"
android:layout_width="40dp"
android:layout_marginTop="3dp"
android:layout_height="40dp"
android:layout_alignRight="@+id/planner_meal_image"
android:layout_alignParentTop="true"
android:scaleType="centerInside"
android:visibility="gone" />
</RelativeLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/green" >
</FrameLayout>
</LinearLayout>