Gridview上的setOnItemClickListener,其中listview内部无法正常工作

时间:2016-04-12 06:38:57

标签: android listview gridview

我在Gridview中有一个listview,并尝试在gridview上设置OnitemClickListener。它在listview外部单击时有效,但是在单击gridview项的listview部分时它无效。

按照xml代码我在gridview项目中充气。

      <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:descendantFocusability="blocksDescendants">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginTop="6dp"
    android:background="@drawable/card_background"
    android:elevation="5dp"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_gravity="center">

        <TextView
            android:id="@+id/dashlet_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerInParent="true"
            android:fontFamily="sans-serif-bold"
            android:gravity="center"
            android:paddingLeft="15dp" />

        <ImageView
            android:id="@+id/dashlet_settings"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_alignParentRight="true"
            android:layout_centerInParent="true"
            android:paddingRight="15dp"
            android:src="@drawable/settings" />

    </RelativeLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_margin="10dp"
        android:background="#c3c3c3" />

    <ListView
        android:id="@+id/dashlet_settings_items_list"
        android:layout_width="wrap_content"
        android:layout_height="90dp"
        android:divider="@null"
        android:listSelector="@android:color/transparent" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

这是因为listview组件没有点击监听器。如果你想获得listview的点击监听器,你可能需要把它。

通常我们将setOnItemclickListener用于listview。 点击位置仅为listview。这就是为什么你在点击时什么也得不到的。