2011-05-26 63 views
0

我想在ListView中使用SimpleAdapter中的SectionIndexer。android-SimpleAdapter + SectionIndexer

我有以陣列30的元件和列表正被考慮,除非在所述一對的每個元素是相同的每對30個的元素(即我== j)的構建。

因此,列表中的每個項目都包含兩個文本視圖和一個複選框。只是解釋textviews的結構如何:

ROW1:textview1:下午(...) textview2:在(....)

2行:textview1:下午(...) textview2: battery_charging(....)

ROW3:textview1:下午(...)

等等等等

所以基本上每一個第一次的TextView是一樣的,直到與TextView的所有對已經被消耗。

由於此列表包含大約900個(準確地說是870個)條目,我嘗試使用FastScrolling實現SectionIndexing。

雖然我理解如何做到這一點,但我似乎遇到了一個我無法解釋的問題。

看起來,當我滾動時,顯示當前字母的疊加總是位於列表中當前位置的前面。

我正在努力解決這個問題,但我不明白爲什麼。

我可以發佈代碼,但我相當肯定我沒有做錯任何事情。

我能想到的唯一缺陷就是所有以相同字母開頭的單詞都是相同的。

感謝

回答

0

事實證明,我不得不使用這個

for (int i = size - 1; i >= 0; i--) 

,而不是

for (int i = 0; i<size; i++)

當我創建索引地圖。

僅僅爲了興趣,第二個for循環不起作用的原因是因爲映射中的每個字母映射到該字母的最後一個索引。

而是每個字母都必須在索引發生時映射到索引。所以對於A而言,它將是0而不是30(其中30是以A開頭的項目的數量)。

相關問題