我正在尝试通过SimpleAdapter在ListView中使用SectionIndexer。
我在一个数组中有大约30个元素,这个列表是通过考虑这30个元素中的每一对元素来构建的,除非这对元素中的每个元素都是相同的(即i == j)。
因此,列表中的每个项目都包含两个文本视图和一个复选框。只是为了解释一下文本视图是如何构造的:
row1: textview1:下午(...)textview2: at(....)
row2: textview1:下午(...)textview2: battery_charging(....)
row3: textview1:下午(...)
等等等等
因此,基本上每个第一个TextView都是相同的,直到使用了该TextView的所有对。
因为这个列表包含大约900个(准确地说是870个)条目,所以我尝试用FastScrolling实现SectionIndexing。
虽然我知道如何做到这两点,但我似乎遇到了一个我无法解释的问题。
它看起来像是当我滚动时,显示当前字母的叠加总是在列表中当前位置的前面。
我试着想办法解决这个问题,但我不明白为什么。
我可以发布代码,但我相当确定我没有做错任何事情。
我能想到的唯一缺陷是,所有以同一字母开头的单词都是相同的。
谢谢
发布于 2011-05-27 07:50:24
结果我不得不用这个
for (int i = size - 1; i >= 0; i--)而不是
for (int i = 0; i<size; i++)
当我创建索引器映射的时候。
出于兴趣,第二个for循环不起作用的原因是映射中的每个字母都映射到该字母的最后一个索引。
相反,每个字母在第一次出现时都必须映射到索引。因此,对于A,它应该是0,而不是30 (其中30是以A开头的项目数)。
https://stackoverflow.com/questions/6146189
复制相似问题