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