2012-04-28 2 views
1

Я использую настраиваемое представление списка, как показано ниже:Индивидуальные ListView: Множественный выбор Элемент списка

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, поэтому я не понимаю, где поставить опцию для множественного выбора элементов списка.

Пожалуйста, помогите

С уважением,

ответ

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-файл, а не ваше и заменить это объявление apter в вашем коде

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

Привет, я попробовал вариант, который вы предложили, но он не работает. Рядом с элементами, представленными в ListView, не появляется флажок. Пожалуйста, предложите – user182944

+0

у меня возникло исключение класса: вызвано: java.lang.ClassCastException: android.widget.RelativeLayout не может быть добавлено в android.widget.TextView – user182944

+0

просто используйте setListAdapter (новый ArrayAdapter (это, android.R.layout .simple_list_item_multiple_choice, СТРАНЫ)); –

Смежные вопросы