我有一个ListView
,每行为一个包含CheckBox
和TextView
RelativeLayout
的{{1}}的xml充气。
问题是我无法弄清楚如何将onClick事件从复选框传递回后一行。
我想实现这种行为:用户按下复选框,按下整个列表行。如果我为每一行android.R.layout.simple_list_item_multiple_choice
充气,我看到了这种行为,但如果没有这种特定于Android的布局,我无法弄清楚如何做到这一点。
有人可以给我一个想法或方向吗?
以下是代码:
Listview:
<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>
答案 0 :(得分:3)
Checkbox消耗了List项的焦点。您需要在布局文件中设置它:
<!-- 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"
/>