我有兩個不同的活動,第一個是我在某些EditTexts中輸入一些信息,然後進入第二個活動,但是當我返回時,第一個活動中EditTexts上的文本是不見了。Bundled savedInstanceState始終爲空
這裏是在OnCreate()的第一個活動:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_frm_recetas);
txtClient = (EditText) findViewById(R.id.txtNombreCliente);
if(savedInstanceState != null){
String client = savedInstanceState.getString("Client");
txtClient.setText(client);
}
}
我使用的方法的onSaveInstanceState保存信息
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
String x = txtClient.getText().toString();
savedInstanceState.putString("Client", x);
super.onSaveInstanceState(savedInstanceState);
}
在做調試,我可以看到savedInstanceState Bundle的確在onSaveInstanceState方法中填充,但在OnCreate中顯示爲null。
也許我必須在第二個活動中添加一些東西?除了讓我回到第一個活動的按鈕,我目前沒有任何東西。
如果你調用'super.onSaveInstanceState(savedInstanceState)'作爲'onSavedInstanceState'方法的第一行會發生什麼? – Phil
仍然返回null – Oscar
「第一個活動中EditTexts上的文本消失了」 - 唯一可能發生的方式是,如果您清除了它們,如果將它們替換爲新實例,或者第一個活動被銷燬一些原因。您可以通過查看是否調用了「onDestroy()」來確定後一種情況。 – CommonsWare