有人可以向我解释我做错了什么吗?或者如果一旦找到问题的解决方案,请你解释一下我做错了什么,谢谢。
代码来源
final Button nameActivity = (Button) findViewById(R.id.nameActivity);
nameActivity.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
userFirstName = firstName.getText().toString();
userLastName = lastName.getText().toString();
Intent nameIntent = new Intent(MainActivity.this, NameActivity.class);
Bundle nameInfoBundle = new Bundle();
nameInfoBundle.putString(States.STATE_FIRSTNAME, userFirstName);
nameInfoBundle.putString(States.STATE_LASTNAME, userLastName);
startActivity(nameIntent);
}
});
答案 0 :(得分:1)
您可以使用SharedPreferences
在应用被杀死时预先存储数据。
将数据保存到SharedPreferences
即可。
private void saveDataToSharedPreferences() {
SharedPreferences pref = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
edit.putString(States.STATE_FIRSTNAME, userFirstName);
edit.putString(States.STATE_LASTNAME, userLastName);
edit.commit();
}
现在您可以执行此操作来检索数据:
private void retrieveDataFromSharedPreferences() {
try {
SharedPreferences pref = getSharedPreferences("MyPrefs", MODE_PRIVATE);
String firstName = pref.getString(States.STATE_FIRSTNAME);
String lastName = pref.getString(States.STATE_LASTNAME);
}
catch (Exception ex) {
Log.e(TAG, ex.getMessage());
}
}
您正在做的是将数据保存在Intent
中并将其传递给Activity
。只要应用处于有效状态,数据就会保留在Intent
中 - 不会保存。
答案 1 :(得分:0)
试试这个:
Intent nameIntent = new Intent();
nameIntent.putExtra(States.STATE_FIRSTNAME, userFirstName);
nameIntent.putExtra(States.STATE_LASTNAME, userLastName);
在NameActivity的onCreate()方法中使用它来检索值:
Intent intent = getIntent();
String userFirstName = intent.getExtras(States.STATE_FIRSTNAME);
String userLastName = intent.getExtras(States.STATE_LASTNAME);