4

我使用实现 SectionIndexer 的自定义适配器执行 ListView。当我在 Manifest 文件中仅键入 minSdkVersion = 8 时,一切正常。但是,如果我将 targetSdkVersion = 11(或更多)添加到 Manifest,当我滚动列表时,快速滚动条开始滚出屏幕,但没有列表的结尾。

还有一点:如果我将 targetSdkVersion = 11 添加到清单并在没有实现 SectionIndexer 的情况下执行列表适配器,滚动条也可以正常工作。

但我需要 targetSdkVersion = 11 或更多,并且需要 SectionIndexer 实现。

有任何想法吗?

4

1 回答 1

15

我的猜测是因为您没有正确实现 getSectionForPosition(int position) 方法。

这就是我所做的:

    @Override
    public int getSectionForPosition(int position) {
        for(int i = sections.length - 1; i >= 0; i--) {
            if(position > alphaIndexer.get(sections[i]))
                return i;
        }
        return 0;
    }
于 2012-09-14T09:17:59.130 回答