2012-05-19 3 views
0

У меня проблема с моим ListView. Я хочу, чтобы он содержал разные значения из моего объекта. Мой объект Пункт имеет 4 атрибуты:Добавление атрибутов в ListView

String name; 
int number; 
int price; 
boolean check; 

Это мой код:

ArrayList<Item> list = new ArrayList<Item>(); 
list.add(new Item("hej", 1, 1, false)); 
list.add(new Item("farvel", 2, 2, true)); 
setListAdapter(new ArrayAdapter<Item>(this, R.layout.list_item, R.id.tv, list)); 

ListView lv = getListView(); 
lv.setTextFilterEnabled(true); 

Теперь я хочу, чтобы истина/ложь, чтобы быть связаны с моим флажком в этом XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

<CheckBox 
    android:id="@+id/cb" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<TextView 
    android:id="@+id/tv" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="16sp" > 
</TextView> 

</LinearLayout> 

Мне очень понравилась бы ваша помощь !!

ответ

0

Для этого вам необходимо создать свой собственный адаптер.

В принципе, вы расширяете один из классов адаптеров и переопределить (в случае необходимости) следующими способами:

getCount 
getItem 
getItemId 
getView 

Есть несколько руководств/учебники, плавающие вокруг:

SO Question

Adapter Tutorial 1

Custom ArrayAdapter Example

Удачи!

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