android - 按需显示/隐藏 Listview SectionIndex

标签 android listview indexing hide

我实现了一个 ListView ,它实现了 SectionIndexer ... 到目前为止一切都很好。

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

因此,当列表以第二种方式排序时,我想隐藏之前生成的 SectionIndex。

我就是做不到。

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

如果有人知道发生了什么,那就太好了:)

非常感谢,迈克

最佳答案

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

查看我的 Question以及那里的答案。

在这里回到您的查询。

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

关于android - 按需显示/隐藏 Listview SectionIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6807887/

相关文章:

c# - ListView - 将 listviewitem 数据绑定(bind)到对象

arrays - MATLAB/ Octave : Increment array with an array of indexes

python - 如何将每个 x 个元素拆分一个列表并将这些 x 个元素添加到一个新列表中?

android - SDK 平台 Android 8.1.0 - 无法下载

java - 从自定义 ListView 中的 CheckBox 获取值

android-studio - Flutter:如何将值从streamprovider/listview构建器传递到另一个类

sql - Postgresql:是否需要在作为复合唯一约束一部分的列上定义单列索引?

android - 通过 USB 安装 Android 应用程序

android - 分享您使用预填充数据库构建 Android 应用程序的实践经验

android - 为什么android :windowSoftInputMode ="stateVisible|adjustResize" adjust the screen when soft keyboard is shown?没有