0

假设我有一个希望用户查看的 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", ""));

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

4

1 回答 1

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, "");

这应该可以解决问题。

于 2013-02-22T01:36:19.367 回答