尽管具有默认值,但未选中复选框

时间:2018-07-24 15:53:43

标签: android android-preferences android-checkbox

您好,感谢您的提前帮助。 我希望我的应用程序显示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);
            ...

0 个答案:

没有答案