1
使用Android註釋。我的首選項:首選項默認設置和首選項活動
@SharedPref(value = SharedPref.Scope.APPLICATION_DEFAULT)
public interface MyPreferences {
@DefaultBoolean(true)
boolean myOption();
}
的preferences.xml
:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="myOption"
android:title="My Option Name"/>
</PreferenceScreen>
我PreferencesActivity
:
public class MyPreferencesActivity extends PreferenceActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
的問題是:儘管myOption
的默認值是真實的(實際上 - 它是當調用MyPreferences_.myOption().get()
時)默認情況下,首選項活動中的複選框未被選中。
對String
首選項也是如此。它們返回@DefaultString
註釋中給出的默認字符串,但不會顯示在PreferenceActivity中。只有在更改活動的首選項值後,才能正確顯示。