是否可以在PreferenceScreen中隐藏偏好设置?我不需要禁用它,它必须是不可见的(有时候)
重要提示:我需要保持最低API级别为7+
是否可以在PreferenceScreen中隐藏偏好设置?我不需要禁用它,它必须是不可见的(有时候)
重要提示:我需要保持最低API级别为7+
如果你的注销按钮(Preference)在PreferenceScreen中,那么请按照以下步骤操作:
PreferenceScreen screen = getPreferenceScreen();
Preference logout = findPreference("logout");
if(screen != null && logout != null)
screen.removePreference(logout);
如果您的注销按钮(“首选项”)位于PreferenceCategory中(PreferenceCategory是PreferenceScreen内部的一个元素),请执行以下操作:
PreferenceCategory category = (PreferenceCategory) findPreference("category_name");
Preference logout = findPrefence("logout");
if(category != null && logout != null)
category.removePreference(logout);
你可以放置任何你喜欢的偏好设置名称,例如注销偏好设置,如果你有另一个偏好设置(例如CheckBoxPreference),你需要在findPreference之前先将该特定的偏好设置转换为它的类型。类似这样的代码应该可以正常运行:
Preference p = findPreference("your_preference_key");
getPreferenceScreen().removePreference(p);
PreferenceScreen scr = getPreferenceScreen();
如果scr不为null:
scr.removePreference(findPreference("preferenceKey"));