Listview с проблемой флажка - PullRequest
1 голос
/ 14 февраля 2012

У меня есть ListView, который раздувает для каждой строки XML, содержащий CheckBox и более TextView с, которые находятся в RelativeLayout.Проблема в том, что я не могу понять, как передавать события onClick из флажка в задний ряд.Я хочу добиться такого поведения: пользователь нажимает флажок, и весь ряд списка нажимается.Я видел такое поведение, если я надуваюсь для каждой строки android.R.layout.simple_list_item_multiple_choice, но я не могу понять, как это сделать без этой конкретной схемы для Android.

Кто-нибудь может дать мне идею или направление?

Ниже приведен код:

Список:

<ListView
    android:id="@+id/include_sent_list_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white"
    android:cacheColorHint="@color/white"
    android:layout_alignParentTop="true"/>

И xml, который раздувается для каждой строки:

<RelativeLayout 
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

<CheckBox
        android:id="@+id/checked_radio_button"
        android:layout_width="50dp"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:focusable="false"
        />
<TextView
        android:id="@+id/account_number_text"
        android:layout_width="100dp"
        android:layout_height="fill_parent"
        style="@style/config_simple_small_text_view_style"
        android:paddingTop="15dp"
        android:layout_toRightOf="@id/checked_radio_button"

        />
<TextView
        android:id="@+id/account_name_text"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        style="@style/config_simple_small_text_view_style"
        android:paddingTop="15dp"
        android:layout_toRightOf="@id/account_number_text"/>

</RelativeLayout>

1 Ответ

3 голосов
/ 14 февраля 2012

Флажок использует фокус для элемента списка.Вам необходимо установить это в вашем файле макета:

<!-- Must make this non-focusable otherwise it consumes  -->  
<!-- events intended for the list item (i.e. long press) -->
<CheckBox
    android:id="@+id/item_entry_check"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:focusable="false"
    />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...