2010-03-06 8 views
28

Я новичок в Android, и я думаю, что я пытаюсь сделать что-то действительно основное: у меня есть 5 строк в моем массиве (скажем «Один», «Два», .. .). Я хочу добавить эти 5 строк в свой список в моем списке.Android: заполнение списка с элементами массива

Мой список:

<ListView 
    android:id="@+id/android:list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
</LinearLayout> 

Мой список Row:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
<TextView android:id="@+id/homeItemName" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/> 
</LinearLayout> 

В принципе, я хочу, чтобы связать элементы массива в TextView homeItemName. Я мог бы добавить другие элементы в мою строку позже, поэтому я не могу просто привязать listview к записям.

Спасибо!

+1

Вам необходимо знать основные сведения об адаптерах и массивах. Возможно, вам придется расширить один из этих классов. – daliz

ответ

31

Для кода, взять быстрый взгляд на это step-by-step tutorial

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES)); 
ListView lv = getListView(); 

Это показывает базовую реализацию в ArrayAdapter:

R.layout.list_item: это расположение XML (list_item.xml), который будет использоваться для каждого ROW вашего списка . СТРАНЫ - это массив строк.

+1

Ссылка мертва :([Это] (https://developer.android.com/guide/topics/ui/layout/listview.html) тот, на который вы указали? –

6

Чтобы связать ваши данные, вы можете использовать ArrayAdapter. Поскольку вы хотите иметь возможность добавлять дополнительные элементы данных в представление, вы должны дать адаптеру ArrayList (поскольку массив имеет фиксированный размер). Элементы следует добавлять через ArrayAdapter, а ваш ArrayList будет обновляться автоматически. У меня есть пример на http://www.box.net/shared/yduel9txya

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