在我的Android应用程序中,我有一个PreferenceFragment
,它是从XML资源文件构建的。加载XML后,我想为Fragment中的每个Preference
调用一个方法。我的问题是,我还没有找到一种方法,可以从当前的PreferenceFragment
中获取所有偏好设置。
我知道我可以找到findPreference(...)
方法的首选项,但我希望得到所有首选项的迭代器。错过了一种方法,或者我们无法获得所有偏好设置?
答案 0 :(得分:4)
我找到了一个使用以下代码执行此操作的方法:
PreferenceScreen prefScreen = getPreferenceScreen();
int prefCount = prefScreen.getPreferenceCount();
for(int i=0; i < prefCount; i++) {
Preference pref = prefScreen.getPreference(i);
// do something with the Preference
}
答案 1 :(得分:0)
假设this
是PreferenceFragment
,您可以致电:
this.getPreferenceManager().getDefaultSharedPreferences(context).getAll();
这将返回包含所有偏好https://developer.android.com/reference/android/content/SharedPreferences.html#getAll()
的地图