从 PreferenceFragment 获取所有 Preferences

Get all Preferences from PreferenceFragment

在我的 Android 应用程序中,我有一个 PreferenceFragment 是从 XML 资源文件构建的。 XML 加载后,我想为片段中的每个 Preference 调用一个方法。我的问题是我还没有找到一种方法可以给我当前 PreferenceFragment.

中的所有首选项

我知道我可以使用 findPreference(...) 方法找到首选项,但我想获得所有首选项的迭代器。错过了一个方法还是我们无法获得所有首选项?

假设this是你的PreferenceFragment,你可以调用:

this.getPreferenceManager().getDefaultSharedPreferences(context).getAll();

这将 return 具有所有偏好的地图 https://developer.android.com/reference/android/content/SharedPreferences.html#getAll()

我找到了使用以下代码执行此操作的方法:

PreferenceScreen prefScreen = getPreferenceScreen();
int prefCount = prefScreen.getPreferenceCount();

for(int i=0; i < prefCount; i++) {
    Preference pref = prefScreen.getPreference(i);
    // do something with the Preference
}