如何使用自定义行布局进行ListView单选

时间:2011-10-17 07:26:51

标签: android android-layout android-widget

我有ListView的行布局,我在getView方法中扩展了适配器(扩展BaseAdapter)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <CheckBox
        android:id="@+id/chk"
        android:button="@drawable/q_list_check_box"
        android:layout_alignParentLeft="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_gravity="center_vertical"
        android:gravity="center_vertical"
        />
    <TextView
        android:id="@+id/txtChoice"
        android:textColor="@color/white"
        android:layout_gravity="center_vertical|left"
        android:gravity="center_vertical|left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" /> 
</LinearLayout>

我把ListView标签安装在android:choiceMode =“singleChoice”。如何进行列表单选,一次只能检查一行?

1 个答案:

答案 0 :(得分:0)

当我必须使用我的自定义行实现选择时,我使用布尔的arraylist来保持行的状态。布尔arraylist的大小与listview的行相同。您可以通过在OnListItemClick()中更改相应布尔值来选择/取消选择行。无论如何它只是一个想法。这是一个有助于理解这一点的链接:

Custom List row with checkbox