2011-09-11 35 views
0

填充我有這簡直是人口這樣一個ListView一個ListView:如何將主題設定爲與setListAdapter

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

「輔助」這是static String[] aux = null;它通過Web服務填充。

我做了一個主題,並測試了靜態列表視圖元素,文件lista.xml - >你可以看到它here(如果你看看底部,你會看到我把「列表項目1,列表項目2」,所以我需要dinamically填充這些值...)

我的問題是,我該如何將主題應用到我的listadapter?

我相信我開始:

setListAdapter(新ArrayAdapter(這一點, R.layout.lista,AUX))

但我有兩個問題。 (2)我不知道如何使用XML和從Java填充(setlistadapter) (2)我相信我會失去複選框。

但是,如果有人能幫助(1)第一:)我真的不知道現在在做什麼!

回答

1
setListAdapter(new ArrayAdapter(this, R.layout.lista, aux)) 

是開始,你是對的,但是當你想自定義列表項的佈局,你必須編寫自定義ListAdapter。例如,您extend ArrayAdapter<YourItemClass>。在那裏,您重寫方法getView(),並在此方法中使用Aux對象的值填充自定義佈局。

你必須設置在佈局一個ID爲您的列表視圖項目

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:id="@+id/textview" android:layout_weight="1"> 

</TextView> 

與ID /一個ArrayAdapter的TextView你說你listAdapter渲染到了這一觀點。

編輯:哦,你必須學習和服從列表的持有人概念。這裏:How to load the Listview "smoothly" in android

+0

感謝您的幫助,但我有一個問題...根據您的建議,我很快替換android:id(如您所述)的android:text,並且必須替換適配器setListAdapter( new ArrayAdapter (this,R.layout.lista,R.id.textview,aux)); 問題是:對於每個listview元素正在創建佈局的所有其他元素,所以它都搞砸了。我該如何解決這個問題? – Tiago

+0

也許你的底層modeldata是一個「all in one」對象,所以你必須在你的Customized ListAdapter中定義getItem(int)方法。在這種方法中,您可以定義如何從ItemObject(aux)中獲取一個項目。 – Michele

+0

明白了,謝謝! – Tiago

相關問題