2011-09-13 25 views
0

我正在幫助朋友創建一個Android應用程序,該應用程序將具有與Feed類似的信息列表。我一直在學習Android中的xml佈局,並有一些基礎知識,但對java的東西並不熟悉。我已經成功創建了包含單獨的組件的佈局文件,但是我想知道的是,如果這樣的組件可以用作一種模板,用於在後端以編程方式插入的feed/list項目。 IE,有沒有辦法讓Android創建一個列表,併爲每個列表項使用外部xml作爲模板?對不起,如果這有點含糊,我是新手,試圖瞭解我們的選擇。 TIA!爲Android中的訂閱源/列表項創建xml模板?

回答

0

是的,每個列表項都可以是自定義佈局。實際上,您總是使用定義列表條目的佈局。你可以從android.R.layout中選擇一個預製的,或者你可以從R.layout中使用你自己的。您可以在代碼中創建列表適配器時指定它。

看一看one of the ArrayAdapter constructors例如:

公共ArrayAdapter(上下文的背景下,INT資源,詮釋 textViewResourceId)

自:API等級1構造函數的參數

背景 - 當前上下文。
資源 - 佈局文件的資源ID,包含 佈局以在實例化視圖時使用。
textViewResourceId - TextView的佈局資源中的ID來填充

構造函數將被用於ListView兒童的佈局。與其他適配器類似。

你通常會做的是膨脹適配器getView()內部的佈局。當你這樣做時,將所需的所有數據填入佈局的視圖中,然後返回視圖。 請注意,您會收到一個名爲convertView的參數。這是您之前已經誇大的舊佈局之一。在大多數情況下,用戶只是向下滾動,並且該條目不再可見。如果這個convertView不爲null,你可以填充你的數據,而不是再次膨脹整個佈局(這很昂貴)。

您可以在
ANDROID_SDK\samples\android-10\ApiDemos\src\com\example\android\apis\view\List5.java文件中找到一個工作示例。另外看看該文件夾中的其他列表示例。