android - 共享首选项不读取按钮状态

标签 android eclipse onclick sharedpreferences togglebutton

当应用程序被终止并通过 SharedPreferences 重新启动时,我试图保存切换按钮的状态。

我可以在 /data/data/myapp/shared_prefs 上看到写入值为 true/false 的 xml,但我坚持让代码在每次杀死时读取首选项并重新启动应用程序。

该按钮只是重置为默认状态,在我的例子中是这样。就我而言,我在 fragment 上运行它;所以我不得不使用:

最终 SharedPreferences 首选项 = this.getActivity().getSharedPreferences("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)

里面有一个错别字!

关于android - 共享首选项不读取按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14489384/

相关文章:

android - 如何在android中合并两个以上的视频

java - 以下代码是否应该在 Java 1.8 下编译

javascript - 如何在单击时交换图像并在单击时或在其他地方单击时显示它?

html - onclick 功能仅在此 div 中不起作用

android - 添加 FFmpegMediaMetadataRetriever 后 Apk 的大小增加

java - 是什么导致注册到 volley 请求的 ErrorListener 被触发?

java - 我被教导说并发条件不一定需要写在循环中,这与 oracle 文档所说的相反

android - PgaSocketWriteAllUnix 的含义?

javascript禁用第二个onclick

android - 检测后置摄像头缺失