我在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>
答案 0 :(得分:0)
这是因为listview
组件没有点击监听器。如果你想获得listview
的点击监听器,你可能需要把它。
通常我们将setOnItemclickListener
用于listview。
点击位置仅为listview
。这就是为什么你在点击时什么也得不到的。