【问题标题】:How to access checkbox value in a settings activity from another activity?如何从另一个活动访问设置活动中的复选框值?
【发布时间】:2014-08-22 09:30:35
【问题描述】:

我使用 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 对象,但我不知道我将使用什么键来访问数据,因为我在代码中找不到任何常量?谢谢

【问题讨论】:

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


    【解决方案1】:
    PreferenceManager.getDefaultSharedPreferences(context).
    getBoolean(example_checkbox, defaultValue);
    

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

    【讨论】:

    • 啊,谢谢,天知道我是怎么错过的。我猜我需要 example_checkbox 周围的引号
    • 是的,你可以,更好的是在你的 strings.xml 文件中定义键。满意的话可以采纳吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    相关资源
    最近更新 更多