我想我错过了从SharedPreferences
检索值的东西。共享偏好阅读值返回默认值
我的代码:
public class SecondActivity extends Activity {
private TextView password;
private EditText username;
private Button button;
private String name;
private String pass;
private Set<String> set;
private TextView show;
SharedPreferences myPrefs;
SharedPreferences.Editor editor;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
myPrefs = this.getPreferences(MODE_PRIVATE);
editor = myPrefs.edit();
username = (EditText) findViewById(R.id.editText1);
password = (EditText) findViewById(R.id.editText2);
button = (Button) findViewById(R.id.button1);
show = (TextView) findViewById(R.id.textView3);
name = username.getText().toString();
pass = password.getText().toString();
/*
* set = new HashSet<String>(); set.add(name); set.add(pass);
*/
}
public void saveToPreference(View v) {
editor.putString("UserName", name);
editor.putString("Password", pass);
editor.commit();
SharedPreferences myPref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String use = myPref.getString("UserName", "Sorry");
String pas = myPref.getString("Password", "SorryAgain");
Toast.makeText(getApplicationContext(), use, Toast.LENGTH_SHORT).show();
show.append(use + "\n" + pas);
}
}
应用程序不强制/关闭。相反,我得到defaultValues; “对不起”,“对不起”来自SharedPreferences
。 "Sorry"
得到烘烤。
我该怎么办?
logcat中可知,在java.io.FileInputStream中。(FileInputStream.java:78)在java.io.FileReader。 (FileReader.java:42),非法状态异常等... –
VijayaRagavan
你可以发布整个堆栈跟踪吗?另外,作为第一个观察:如果您正在从'PreferenceManager.getDefaultSharedPreferences(getApplicationContext())'读取数据'',那么您应该使用同一个'SharedPreferences'存储。 – gunar
尝试过,但现在空字符串返回... – VijayaRagavan