PreferenceScreen移除菜单项
程序员文章站
2022-07-14 18:13:21
...
原因分析
需要移除一个Preference,很简单的操作,但是放在其他地方不生效,所以重写的onCreate方法来进行移除即可。
解决方案
- 找到相关的PreferenceKey,remove掉即可
private static final String KEY_CHANGE_CARRIER = "change_carrier_settings";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
boolean isPrepaid = SystemProperties.get("ro.xxx.xxx").equals("true") ? true : false;
if (!isPrepaid) {
Log.d(TAG, "removePreference ");
removePreferenceFromScreen(KEY_CHANGE_CARRIER);
}
}
/**
* Removes the specified preference, if it exists.
* @param key the key for the Preference item
*/
private void removePreferenceFromScreen(String key) {
final Preference preference = findPreference(key);
if (preference != null) {
getPreferenceScreen().removePreference(preference);
}
}
下一篇: odoo继承菜单项
推荐阅读
-
SQL Server移除事务日志后sys.master_files依然存在记录问题
-
linux系统下 Ubuntu如何使用命令行移除PPA仓库
-
在Linux系统下移除文件内的隐私数据的方法和具体步骤
-
js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法讲解
-
vue element动态渲染、移除表单并添加验证的实现
-
Swoole 5将移除自动添加Event::wait()特性详解
-
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
-
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
-
使用Mac帮助菜单快速查找菜单项教程
-
360压缩减少关联的右键菜单项方法图解