我实现了一个ListView,它实现了SectionIndexer…
到目前为止一切都很好。
通常项目是按名称排序的,但我也提供了按不同方式排序列表的选项-按距离(从用户到对象)。
所以,当列表按第二种方式排序时,我想隐藏先前生成的sectionindex。
我就是做不到。
我试过,重写了大部分方法,
我在构造器中尝试了一个分离(清楚为什么它不工作,它不会被第二次调用)
我甚至尝试过实现第二个listadapter,只是使用了另一个?即使在这种情况下,也会显示SectionIndex!我真的不明白这个。
如果有人知道发生了什么,那就太好了:)
非常感谢,迈克
最佳答案
你的意见是正确的。让我先告诉你为什么构造器在第二次调用时永远不会被调用。分段索引器是一种特殊的类型。它们只为一组特定的数据创建一次索引,并在适配器上重用它们。我遇到的更大的问题是,当适配器的基础数据更改时,SectionIndexer仍然保持不变。
检查我的答案。
回到你的问题上来。
如果在选择第二个选项后更改方向,您将看到构造函数将被调用,并且您将能够再次重新填充SectionIndex。所以基本上,您需要再次调用onSizeChanged并重新填充SectionIndex。