Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何访问首选项屏幕的所有子项?_Android_Preferences - Fatal编程技术网

Android 如何访问首选项屏幕的所有子项?

Android 如何访问首选项屏幕的所有子项?,android,preferences,Android,Preferences,我正试图以编程方式取消选中我的应用程序中首选项屏幕的所有复选框首选项子项。我该怎么做呢?现在无法测试它。。。但我会尝试这样的方式: final ListAdapter adapter = getPreferenceScreen().getRootAdapter(); for (int idx = 0; idx < adapter.getCount(); idx++) { Object object = adapter.getItem(idx); if(object inst

我正试图以编程方式取消选中我的应用程序中
首选项屏幕
的所有
复选框首选项
子项。我该怎么做呢?

现在无法测试它。。。但我会尝试这样的方式:

final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
for (int idx = 0; idx < adapter.getCount(); idx++) {
    Object object = adapter.getItem(idx);
    if(object instanceof CheckBoxPreference){
        ((CheckBoxPreference)object).setChecked(false);
    }
}
final ListAdapter=getPreferenceScreen().getRootAdapter();
对于(int idx=0;idx
现在无法测试它。。。但我会尝试这样的方式:

final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
for (int idx = 0; idx < adapter.getCount(); idx++) {
    Object object = adapter.getItem(idx);
    if(object instanceof CheckBoxPreference){
        ((CheckBoxPreference)object).setChecked(false);
    }
}
final ListAdapter=getPreferenceScreen().getRootAdapter();
对于(int idx=0;idx
找到了一种更简单的方法——对于我的用例来说已经足够了——那就是清除首选项。这可以通过静态方法完成,前提是向其传递了上下文:

PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();

找到了一个更简单的方法-足以满足我的用例-那就是清除首选项。这可以通过静态方法完成,前提是向其传递了上下文:

PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();