Android Preference 揭秘

我使用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

你可能感兴趣的:(Android Preference 揭秘)