自定义ListView:多选列表项

时间:2012-04-28 02:23:04

标签: android android-layout android-intent

我正在使用自定义列表视图,如下所示:

list_item.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="16sp"
android:background="#ffffff" 
android:textColor="#000000">

扩展ListActivity的活动文件:

  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));       
    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

我们将此代码用于多个列表项选择:

 setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_multiple_choice,
            hometown));

但我已将ArrayAdapter的第二个参数更改为自定义TextView,因此我不明白将选项放在多个列表项的多个选项中。

请帮忙

此致

1 个答案:

答案 0 :(得分:0)

 lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

你可以使用下面的上面一行

ListView lv = getListView();

更新::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
 <TextView android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16sp"
    android:background="#ffffff" 
    android:layout_alignParentLeft="true"
    android:textColor="#000000">
 <CheckBox android:id="@+id/checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"    
    android:text="check it out" />
</RelativeLayout>

使用这些xml文件而不是你的文件,并在代码中替换此适配器

new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES,new Int[] {R.id.textview1})