我的活动包含一个EditText这需要名用户作为字符串INOUT,然后我试图通过SharedPreferences保存这一点,所以,当我的活动被再次打开,我可以再打我的字符串,并设置作为我的EditText中的提示。SharedPreferences不保存并返回字符串
我的代码: -
SharedPreferences prefs = getSharedPreferences("Key",0);
final EditText editname = (EditText)findViewById(R.id.editText1);
editname.setGravity(Gravity.CENTER);
nameofuser = prefs.getString("name", "Your Name!");
editname.setHint(nameofuser);
editname.setOnEditorActionListener(new OnEditorActionListener()
{
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2)
{
if(arg1==EditorInfo.IME_ACTION_DONE)
{
nameofuser = editname.getText().toString();
Editor e=prefs.edit();
e.putString("name", nameofuser);
e.commit();
editname.setCursorVisible(false);
}
return false;
}
});
这里是nameofuser是字符串类型类变量。
现在我想: -
- 在活动检查的起点,如果有任何字符串保存为nameofuser,如果是职位,作为的EditText暗示。
- 中如果EditText上,按类型的人做任何事的程序之后,该字符串保存为nameofuser和sharedpreferences。
- 关闭和重新打开该应用程序,如果存在nameofuser设置之后如在的EditText暗示。
什么我得到: - 一切工作正常,但每当我重新打开该程序我得到的EditText即没有显示空白那里。
它不工作,即时通讯思想是不是因为一些问题的EditText或sharedpreferences之一。 – Mohit
它给的任何错误? – Kedarnath
没有任何错误,每次我重新启动应用程序时,edittext中都没有显示任何提示。 – Mohit