隐藏 PreferenceActivity 中的首选项
是否可以在 PreferenceScreen 中隐藏首选项?我不需要禁用它,它必须是不可见的(有时)
重要提示:我需要保持最低 API 级别 7+
Is possible to hide a preference in a PreferenceScreen? I don't need to disable it, it must be invisible (sometimes)
Important: I need to keep the min API level 7+
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您的注销按钮(首选项)位于 PreferenceScreen 中,请执行以下操作:
否则,如果您的注销按钮(首选项)位于 PreferenceCategory(位于 PreferenceScreen 内)中,请执行以下操作:
您可以输入您的首选项名称,这是为了例如,对于注销首选项,如果您有另一个首选项(例如 CheckBoxPreference),则需要在 findPreference 之前强制转换该特定首选项。
If your logout button (Preference) is in the PreferenceScreen, do this:
Else if your logout button (Preference) is in a PreferenceCategory (which is inside a PreferenceScreen), do this:
You can put whatever your preferences name is, this is for example for a logout preference, if you have another Preference (eg CheckBoxPreference) you need to cast that specific Preference before findPreference.
类似的东西应该有效:
Something like that should works:
PreferenceScreen scr = getPreferenceScreen();
如果(scr!=空)
PreferenceScreen scr = getPreferenceScreen();
if(scr!=null)
如果您使用支持库 v7 Preference,您可以使用
setVisible
方法。它正是您所需要的。If you use Support Library v7 Preference, you can use the
setVisible
method. It does exactly what you need.现在,您可以使用 AppCompat 库直接在 xml 中执行此操作。
请参阅https://stackoverflow.com/a/54154665/114549
You can now do this directly in xml with the AppCompat library.
See https://stackoverflow.com/a/54154665/114549