Grid Item内的ImageView块长按

时间:2014-09-22 10:11:45

标签: android android-gridview

我有一个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>

0 个答案:

没有答案