我創建了一個自定義選項卡導航器,現在我需要知道如何使用多個ListViews來接收自定義適配器。在單一佈局中使用自定義適配器的多個ListViews
當我需要使用自定義適配器時,我創建了一個ListView
與id=android:list
並將該類設置爲Extends ListActivity。但現在我認爲我不能這樣做......
我創建了一個自定義選項卡導航器,現在我需要知道如何使用多個ListViews來接收自定義適配器。在單一佈局中使用自定義適配器的多個ListViews
當我需要使用自定義適配器時,我創建了一個ListView
與id=android:list
並將該類設置爲Extends ListActivity。但現在我認爲我不能這樣做......
要在單個活動上有多個listView,不需要擴展ListActivity。只需將普通ListView添加到xml lauyout文件中,然後在活動中引用它們並設置所需的適配器。
例子:XMLFILE
<ListView android:id="@+id/list_view1" android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
<ListView android:id="@+id/list_view2" android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
上的活動:
setContentView(R.layout.xmlfile)...
ListView lv1 = (ListView) findViewById(R.id.list_view1);
ListView lv2 = (ListView) findViewById(R.id.list_view2);
lv1.setAdaper(new CustomAdapter1());
lv2.setAdaper(new CustomAdapter2());
@Nuno貢薩爾維斯
一個小錯誤/優化您的XML文件:
在的情況下, ListViews,最好定義layout_height
和layout_width
屬性都爲fill_parent
,並使用layout_gravity
屬性對它們進行縮放。將ListView的layout_height
設置爲wrap_content
不是最優的,可能會導致錯誤或性能問題。
但你的解決方案會在這種情況下:)工作
例子:
<ListView android:id="@+id/list_view1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="1">
</ListView>
<ListView android:id="@+id/list_view2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="1">
</ListView>
我沒有注意,因爲它不是重點。 :)無論如何感謝您的更正。 –
,我還可以設置CustomAdapters不ListActivity? –
是的,當然,只需創建兩個不同的適配器類,並在列表視圖中隨意使用它們。檢查我更新的答案。 –