Android Preference 揭秘

本文探讨了在Android应用中使用PreferenceActivity时遇到的问题,即如何成功移除Preference。文中提供了具体的代码实例,并针对removePreference方法返回false的情况给出了可能的原因及解决办法。
我使用PreferenceActivity,请问如何删除Preference。这个不能正常运行
  1. Preference p = findPreference("grok");
  2. boolean worked = getPreferenceScreen().removePreference(p);
  3. // worked == false.
复制代码
preference被找到了,但是removePreference() 调用失败了,请问该如何做呢。我使用 preference.xml 文件如下:
  1. <PreferenceScreen
  2.     xmlns:android="http://schemas.android.com/apk/res/android">

  3.     <PreferenceCategory
  4.         android:title="foo">

  5.         <CheckBoxPreference
  6.             android:key="grok" />

  7.             ...
复制代码

XML:

  1. <PreferenceScreen
  2. xmlns:android="http://schemas.android.com/apk/res/android">

  3. <PreferenceCategory
  4.     android:key="category_foo"
  5.     android:title="foo">

  6.     <CheckBoxPreference
  7.         android:key="grok" />

  8.         ...
复制代码

Code:

  1. Preference p = findPreference("grok");
  2. // removing Preference
  3. ((PreferenceGroup) findPreference("category_foo")).removePreference(p);

复制代码

原文链接http://stackoverflow.com/questions/9348544/class-extends-listactivity-whose-id-attribute-is-android-r-id-list

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值