2010-07-27 24 views
0

我有一個自定義Cursor的適配器,用於我的ListView。每個Cursor都有幾列數據,按優先級列排序。如何爲列表項的部分創建ListView禁用的項目標籤?

我知道你可以創建一個禁用的列表項來充當一種標題,就像市場應用程序(小綠色標籤)一樣。

我想要做的是爲每組不同優先級的項目顯示標題。他們已經按照優先級排序。

示例數據:什麼,我想在ListView

title, priority 
note1, high 
note3, high 
note2, low 
note4, low 

例子:

===High Priority==== 
-note1 
-note3 
===Low Priority===== 
-note2 
-note4 

我如何能做到這一點任何想法?

+0

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List5.html - 他們是如何在官方apidemo中執行的 – getekha 2010-11-25 20:26:05

回答

0

標題行在ListView之內是定製合適的ListAdapter。根據需要有areAllItemsEnabled()返回false並執行isItemEnabled()

事情變得棘手的地方在於您選擇的數據模型。您的ListAdapter將需要從getCount()返回6,因爲您需要列表中的六行。您的基礎數據有四行。這意味着您將不得不編寫一段適當的代碼來翻譯從ListView認爲(6)到您的數據認爲(4)的位置以及處理其他兩個位置的標題行。

+0

有沒有數據模型I可以使用,會更好?也許在光標和適配器之間建立第二個數據模型? – CodeFusionMobile 2010-07-27 15:07:09

+0

@CodeFusionMobile:到目前爲止我完成標題的唯一方法就是我擁有單獨的遊標 - 在您的情況下,一個遊標爲高,一個遊標爲低。看到這個示例項目:http://github.com/commonsguy/cw-advandroid/tree/master/ListView/Sections/如果你的優先級數量相當低,你可以使用相同的技術,但如果你正在尋求很多的標題中,製作可與現有數據模型配合使用的適配器可能會更高效。 – CommonsWare 2010-07-27 23:27:06

相關問題