您好,感谢您的提前帮助。 我希望我的应用程序显示2个默认选中的复选框,但是无论我尝试什么,它们都以未选中状态开始。
我的首选项文件: 位于xml目录中的pref_main.xml。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Preferences">
<EditTextPreference
android:defaultValue="@string/default_gallery_storage"
android:key="@string/key_gallery_name"
android:summary="@string/default_gallery_storage"
android:title="@string/title_gallery_storage" />
<CheckBoxPreference
android:defaultValue="true"
android:checked="true"
android:key="@string/key_request_description_for_item"
android:summaryOff="@string/summary_request_item_description"
android:summaryOn="@string/summary_request_item_description"
android:title="@string/title_item_description" />
<CheckBoxPreference
android:defaultValue="true"
android:checked="true"
android:key="@string/key_request_description_for_cart"
android:summaryOff="@string/summary_request_cart_description"
android:summaryOn="@string/summary_request_cart_description"
android:title="@string/title_cart_description" />
</PreferenceCategory>
我主要活动的一部分
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PreferenceManager.setDefaultValues(this, R.xml.pref_main , true);
}
这也是我的偏好活动的一部分
public class SettingsPrefActivity extends AppCompatPreferenceActivity {
private static final String TAG = SettingsPrefActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// load settings fragment
getFragmentManager().beginTransaction().replace(android.R.id.content, new MainPreferenceFragment()).commit();
}
public static class MainPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_main);
...