Android 共享引用不';无法读取按钮状态
当应用程序被终止并通过Android 共享引用不';无法读取按钮状态,android,eclipse,onclick,sharedpreferences,togglebutton,Android,Eclipse,Onclick,Sharedpreferences,Togglebutton,当应用程序被终止并通过SharedReferences重新启动时,我正试图保存切换按钮的状态 我可以在/data/data/myapp/shared_prefs上看到值为true/false的xml被写入,但每次我关闭并重新启动应用程序时,我都坚持让代码读取首选项 按钮只是重置为默认状态,在我的情况下为true。在我的例子中,我在一个片段上运行它;所以我不得不使用: final SharedReferences preferences=this.getActivity().getSharedRe
SharedReferences
重新启动时,我正试图保存切换按钮的状态
我可以在/data/data/myapp/shared_prefs
上看到值为true/false的xml被写入,但每次我关闭并重新启动应用程序时,我都坚持让代码读取首选项
按钮只是重置为默认状态,在我的情况下为true。在我的例子中,我在一个片段上运行它;所以我不得不使用:
final SharedReferences preferences=this.getActivity().getSharedReferences(“tg1pref”,0)代码>
这是我的密码:
boolean on;
public SharedPreferences preferences;
final ToggleButton toggleButton1 = (ToggleButton) v.findViewById(R.id.toggleButton1);
final SharedPreferences preferences = this.getActivity().getSharedPreferences("tg1pref",0);
boolean tg1pref = preferences.getBoolean("tg1pref", true);
if (tg1pref = true) {
toggleButton1.setChecked(true);
} else {
toggleButton1.setChecked(false);
}
toggleButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if((toggleButton1.isChecked())) {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tg1pref", true); // value to store
editor.commit();
} else {
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("tg1pref", false); // value to store
editor.commit();
}
}
});
谢谢你的帮助
使用t0mm13b方法求解:
if (tg1pref = true) {
//That should be:
if (tglpref){ // Meaning and same as if (tglpref == true)
这一行:
if (tg1pref = true) {
这应该是:
if (tglpref){ // Meaning and same as if (tglpref == true)
里面有个打字错误 这一行:
if (tg1pref = true) {
这应该是:
if (tglpref){ // Meaning and same as if (tglpref == true)
里面有个打字错误 那就行了是一个赋值==是一个比较。这样就可以了是一个赋值==是一个比较。您可能希望使用editor.apply()而不是edit.commit()。您可能希望使用editor.apply()而不是edit.commit()。