当用户第一次运行应用的时候,用户还没有设置自己preference,这时候就要指定默认的prefernnce了。
首先在xml定义好Android:defaultValue项。然后在主Activity(也可以是其他activity,但在第一次运行的时候一定会进去,比如闪屏Activity)的onCreate方法中调用setDefaultValues方法。
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
这个函数有三个参数:
第一个为应用上下文,第二个是preference的id,第三个为false指只在第一次运行的时候加载默认值。
5.取出preference值SharedPreferences mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
然后通过get方法和key值就可以取出对应的值了,比如:
boolean my_checkbox_preference = mySharedPreferences.getBoolean("checkbox_preference", false);
String my_edittext_preference = mySharedPreferences.getString("edittext_preference", "");
参考
Settings - https://developer.android.com/guide/topics/ui/settings.html#Defaults
How to listen for preference changes within a PreferenceFragment? -
Example of using PreferenceFragment -