如何从另一个活动访问设置活动中的复选框值?

时间:2014-08-22 09:30:36

标签: android xml android-activity checkbox android-settings

我使用Eclipse中的向导创建了一个新的设置活动。我想知道如何访问反映用户选择的值。特别是复选框选项。

它产生的代码如下:

/src/com/example/myapp/SettingsActivity.java:

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    setupSimplePreferencesScreen();
}
private void setupSimplePreferencesScreen() {
    addPreferencesFromResource(R.xml.pref_general);
    //...
}

RES / XML / pref_general.xml:

<CheckBoxPreference
    android:defaultValue="true"
    android:key="example_checkbox"
    android:summary="@string/pref_description_social_recommendations"
    android:title="@string/pref_title_social_recommendations" />

向导创建了一个很大的例子,所以我不确定我是否复制/粘贴了所有相关的代码,但是我花了很长时间,我很确定这是关于它的,(除此之外)字符串xml文件)。

如何从其他活动中访问复选框的值?我猜我需要使用SharedPreferences对象,但我不知道我会用什么键来访问数据,因为我在代码中找不到任何常量?感谢

1 个答案:

答案 0 :(得分:3)

PreferenceManager.getDefaultSharedPreferences(context).
getBoolean(example_checkbox, defaultValue);

您使用的密钥是您在android:key字段

中指定的密钥