Android - 在ListView的分组标题中禁用选中效果

3

我有一个listView,里面有很多元素和节标题。所有的项目都有一个节标题,但只有在必要时才显示。下面是我的item的xml代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_selector_transparent"
android:paddingLeft="@dimen/padding_small"
android:paddingRight="@dimen/padding_small" >

<TextView
    android:id="@+id/item_training_section_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginTop="@dimen/item_training_section_header_margin_top"
    android:background="@drawable/list_selector_transparent"
    android:paddingLeft="@dimen/padding_small"
    android:textColor="@color/item_training_section_header_color"
    android:textSize="@dimen/item_training_section_header_text_size"
    android:textStyle="bold"
    android:visibility="visible" />

<RelativeLayout
    android:id="@+id/item_training_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/item_training_section_header"
    android:background="@drawable/list_selector"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/item_training_logo"
        android:layout_width="@dimen/item_training_image_width"
        android:layout_height="@dimen/item_training_image_height"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_margin="@dimen/margin_small"
        android:contentDescription="@string/image_description" />

    <TextView
        android:id="@+id/item_training_title_formation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_margin="@dimen/margin_small"
        android:layout_toRightOf="@id/item_training_logo"
        android:textColor="@color/item_training_title_formation_color"
        android:textSize="@dimen/item_training_title_formation_text_size" />
</RelativeLayout>

我尝试了几种方法,使用“android:clickable”和“android:descendantFocusability”,但都没有起作用。你有什么想法吗? 感谢您的回复。

1个回答

5

我找到了解决方法。非常简单,但我不确定为什么:

我只需将可点击参数设置为true,我的部分标题:

android:clickable="true"

这里是全部项目:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/padding_small"
android:paddingRight="@dimen/padding_small" >

<TextView
    android:id="@+id/item_training_section_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:layout_marginTop="@dimen/item_training_section_header_margin_top"
    android:paddingLeft="@dimen/padding_small"
    android:textColor="@color/item_training_section_header_color"
    android:textSize="@dimen/item_training_section_header_text_size"
    android:textStyle="bold"
    android:visibility="visible" />

<RelativeLayout
    android:id="@+id/item_training_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/item_training_section_header"
    android:background="@drawable/list_selector"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/item_training_logo"
        android:layout_width="@dimen/item_training_image_width"
        android:layout_height="@dimen/item_training_image_height"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_margin="@dimen/margin_small"
        android:contentDescription="@string/image_description" />

    <TextView
        android:id="@+id/item_training_title_formation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_margin="@dimen/margin_small"
        android:layout_toRightOf="@id/item_training_logo"
        android:textColor="@color/item_training_title_formation_color"
        android:textSize="@dimen/item_training_title_formation_text_size" />
</RelativeLayout>

有人能解释一下这个解决方案吗?

你可以在这里找到答案:https://dev59.com/Gmsz5IYBdhLWcg3wcXbF#7897720 - Ali Mehrpour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接