我可以使用按钮在sharedPreferences中保存数据而另一个可以检索它吗?

时间:2013-02-22 01:09:42

标签: android button save sharedpreferences

假设我有一个TextView,我希望用户查看,然后点击一个保存按钮。然后点击显示按钮并将文本输入到editText字段。

这是我尝试但不起作用的

从TextView中保存信息...

 case R.id.save:


 SharedPreferences firsttunesettings = getSharedPreferences("tune1", 0);
            SharedPreferences.Editor editor = firsttunesettings.edit();
            editor.putString("rh1", rh1.getText().toString());
            editor.commit();

然后在EditText中显示数据....

 case R.id.display:
SharedPreferences firsttunesettings = getSharedPreferences("tune1", 0);

            rh1.setText(firsttunesettings.getString("rh1", ""));

代码不会抛出任何错误,它似乎没有做任何事情。任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:2)

你需要这个:

SharedPreferences firsttunesettings = getApplicationContext().getSharedPreferences("tune1", 0);

and

SharedPreferences firsttunesettings = getApplicationContext().getSharedPreferences("tune1", 0);

            rh1.setText(firsttunesettings.getString("rh1", ""));

SharedPreferences需要应用程序的上下文。

其余的代码对我来说很好。

编辑: 尝试将您的值放在首先保存在临时变量上,如下所示:

String temp = firsttunesettings.getString("rh1", "");然后:

rh1.setText(temp);
由于您发布的代码应该可以正常运行,因此我会耗尽您的想法。

编辑#2:

我还声明了我在共享首选项上使用的变量,如下所示:

private static final String RH1 = "RH1";

并像这样使用它:

editor.putString(RH1, rh1.getText().toString());

String temp = firsttunesettings.getString(RH1, "");

这应该可以解决问题。