我正在尝试在启动应用时将复选框默认为True。 我使用了这个答案Android CheckBoxPreference Default Value但它仍默认为false并在LogCat中输出False。
我搞砸了的任何想法?我已经看了几个小时......提前谢谢!
public class Preferences extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.preferences);
PreferenceManager.setDefaultValues(this, R.layout.preferences, true);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = prefs.getBoolean("checkBox1", true);
System.out.println(autoStart);
}
}
XML类:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory
android:summary="Username and password information"
android:title="User request" >
<CheckBoxPreference
android:key="checkBox1"
android:title="request details"
android:defaultValue="true"/>
</PreferenceCategory>
</PreferenceScreen>
答案 0 :(得分:0)
在您的主要活动中,您可以执行以下操作:
SharedPreferences prefs = getSharedPreferences("YOUR_PREFERENCES_KEY",false);
boolean isSetToTrue = prefs.getBoolean("YOUR_BOOLEAN_KEY",false);
if(isSetToTrue==false){
//here set your checkBox to true
}
主要活动是指首先启动应用程序时启动的活动。