假设我有一个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", ""));
代码不会抛出任何错误,它似乎没有做任何事情。任何帮助表示赞赏。感谢。
答案 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, "");
这应该可以解决问题。