禁用ListView项中的特定视图

时间:2014-03-04 22:27:53

标签: android listview android-listview

如果我有这样的自定义ListView项目:

<?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="50dp"
              android:orientation="vertical">

    <View
        android:id="@+id/home_list_divider"
        android:layout_width="match_parent"
        android:layout_height="10dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/home_list_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/home_list_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

</LinearLayout>

有没有办法禁用仅选择顶级视图home_list_divider?因此,如果用户单击该行的该区域,则不会发生任何事情。

3 个答案:

答案 0 :(得分:0)

android:focusable="false"android:clickable="false"添加到您的视图

<View
    android:focusable="false"
    android:clickable="false"
    android:id="@+id/home_list_divider"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:background="@color/lightestGray" />

答案 1 :(得分:0)

不确定。将您的点击监听器放在下一个LinearLayout

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:onClick="someMethod"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/home_list_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/home_list_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

答案 2 :(得分:0)

我最后在onClick添加了View并禁用了点击声音,然后在我的Activity中将该方法实现为空白方法:

<View
        android:id="@+id/home_list_divider"
        android:layout_width="match_parent"
        android:layout_height="10dp"
        android:onClick="divider_onClick"
        android:soundEffectsEnabled="false" />

空白方法:

public void divider_onClick(View v) {

}

空白方法divider_onClick优先于ListView onItemClickListener