如何在运行时将切换按钮状态(true / false)存储到布尔数组

时间:2015-01-28 11:36:44

标签: android android-activity sharedpreferences

我的应用程序中有5个Toggle按钮,我需要存储切换按钮的状态,即" true"当用户将其打开时,当用户将其关闭时为false。我想将状态存储在共享首选项的布尔数组中,主要问题是,我不知道如何在运行时存储切换按钮的状态共享偏好

2 个答案:

答案 0 :(得分:1)

使用以下代码保存:

public void saveSettings(Context context)
{
    SharedPreferences.Editor editor = context.getSharedPreferences(PREFERENCES_NAME, 0).edit();
    editor.putBoolean(someNameForPreference1, someButton1.isChecked());
    // the same for other buttons
    editor.commit();
}

使用此代码加载设置:

public static void loadSettings(Context context)
    {
        SharedPreferences prefs = context.getSharedPreferences(PREFERENCES_NAME, 0);
        someButton1.setChecked(prefs.getBoolean(someNameForPreference1, false);
// the same for other buttons
}

答案 1 :(得分:0)

使用以下代码保存boo值:

SharedPreferences singltonInstance = ctx.getApplicationContext().getSharedPreferences(
                        PREFERENCE_NAME, Context.MODE_PRIVATE);

    SharedPreferences.Editor prefEditor = singltonInstance.edit();
    prefEditor.putBoolean(fieldName, filedData);
    prefEditor.commit();

保存每个切换按钮状态,其名称为fieldName,而localData中为布尔值。 要从SharedPreferences获取数据:

 singltonInstance.getBoolean(fieldName, defaultValue);

其中defaultValue为false或如果字段键不存在,则为true。