我有一个带有多个首选项类别的首选项屏幕,其中有许多复选框首选项。我正在尝试通过在单击首选项类别标签时隐藏或显示类别来创建可扩展的列表概念。我可以实现点击侦听器,但据我所知,除了使用 addPreference 和 removePpreferences,没有办法设置 CheckBoxPpreferences的可见性,但由于布局完全内置于 xml(需要这样做)我无法在不导致强制关闭的情况下将首选项添加到正确的类别。有没有办法以某种方式将复选框首选项视为视图,并根据需要将其可见性更改为"消失"或"可见"?或者有没有替代方法来完成我想要做的事情?谢谢。
这是一个旧线程,但仅供其他人参考:
您需要编写自定义 CheckBoxPreference 类,因为您无法直接从代码更改 CheckBoxPreference 的参数。从自定义类调用参数有效。
您可以做的另一件事是将 PreferenceFragment 用于要显示的每个 PreferenceCategory,反之亦然。