我看到约了几个类似的问题onSaveInstanceState
没有得到呼吁Fragment
S,但对我来说Fragment
的工作很好,它的主要FragmentActivity
这是使用麻烦。
相关的代码看起来非常简单:
public class MyFActivity extends FragmentActivity implements ActionBar.TabListener {
String[] allValues; // data to save
@Override
protected void onSaveInstanceState (Bundle outState) {
Log.d("putting it!", allValues.toString());
outState.putStringArray("allValues", allValues);
super.onSaveInstanceState(outState);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
allValues = savedInstanceState.getStringArray("allValues");
Log.d("getting it!", allValues.toString());
}
}
}
当暂停活动(使用后退按钮),在onSaveInstanceState
不会被调用,因此, savedInstanceState
始终是null
的范围内onCreate
在恢复的应用方法。 我尝试添加一个块是这样的:
@Override
public void onPause() {
super.onPause();
onSaveInstanceState(new Bundle());
}
该建议在https://stackoverflow.com/a/14195202/362657但同时onSaveInstanceState
随后被调用, savedInstanceState
保持null
内onCreate
方法。 我在想什么?