【发布时间】:2013-02-21 04:16:36
【问题描述】:
我的应用程序中有两个活动现在我想保存 editText 的文本,当用户转到下一个时,这是由用户给出的,在返回 MainActivity 后,该值应该放在 editText 我的代码是
public class MainActivity extends Activity {
EditText editText;
String name = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
if(savedInstanceState == null){
editText.setText("Some Thing");
}else{
String newValue = savedInstanceState.getString("myData");
editText.setText(newValue);
}
Log.d("ARSHAY....", "in onCreate()");
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(savedInstanceState);
editText = (EditText) findViewById(R.id.editText1);
name = editText.getText().toString();
savedInstanceState.putString("myData", name);
}
public void goToNextArsh(View view ) {
Intent intent = new Intent(MainActivity.this, Second.class);
startActivity(intent);
}
}
但这不会在返回 MainActivity 时设置新输入。 有没有人知道怎么做?
【问题讨论】:
-
第一!感谢你们俩。我已经尝试了所有这些方法,我在 onPasue() 方法中获得了像
getPreferences(MODE_PRIVATE).edit().putString("som.arshay.retreive.data", editText.getText().toString()).commit();这样的 editText 的值,并像String newValue = getPreferences(MODE_PRIVATE).getString("som.arshay.retreive.data", editText.getText().toString()); editText.setText(newValue);那样获得了值。但我仍然无法达到我想要的结果......
标签: android saving-data