按需显示/隐藏Listview SectionIndex

cV2*_*cV2 6 indexing android listview hide

我实现了一个实现SectionIndexer的listview ...到目前为止一切都很好.

通常,项目按名称排序,但我也提供了以不同方式对列表进行排序的选项 - 距离(从用户到对象).

因此,当列表按第二种方式排序时,我想隐藏先前生成的SectionIndex.

我只是无法这样做.

我试过,重写大部分方法,我在构造函数中尝试分离(明确为什么它不起作用,它不会被第二次调用)我甚至尝试了实现第二个listadapter,只是使用了不同的一?即使在这种情况下,也会显示SEctionIndex!我真的不明白这个.

所以真的很棒,如果有人知道发生了什么:)

非常感谢,迈克

Pra*_*nCG 2

你的观察是正确的。让我首先告诉你为什么构造函数永远不会被第二次调用。SectionIndexer 是一种特殊的类型。他们仅为特定数据集创建一次索引,并在该适配器上重复使用它们。我遇到的更大问题是当适配器的底层数据发生变化时,sectionIndexer 仍然保持不变。

检查我的问题和答案。

回到您的查询。

如果在选择第二个选项后更改方向,您会发现构造函数将被调用,并且您将能够再次重新填充sectionIndex。所以基本上你需要再次调用 onSizeChanged 并重新填充sectionIndex。