android片段onRestoreInstanceState
我缺less的东西或做Fragment
s没有一个onRestoreInstanceState()
方法? 如果不是,我该如何去做类似的事情呢?
片段没有onRestoreInstanceState
方法。
您可以在onActivityCreated
获得相同的结果,该接收包含保存的实例状态(或null)。
在这里检查源代码。
我知道,你已经接受了答案,但是你应该阅读有关片段的官方文档 ,并且说(段落“处理片段生命周期”):
您可以使用Bundle保留片段的状态,以防活动进程被终止,并且在重新创build活动时需要恢复片段状态。 您可以在片段的onSaveInstanceState()callback期间保存状态,并在onCreate(),onCreateView()或onActivityCreated()
所以,你可以使用你最适合的: onCreate()
, onCreateView()
或onActivityCreated()
在片段指南的ListFragment 示例中,您可以find:
@Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("curChoice", mCurCheckPosition); }
你可以这样使用:
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { // Restore last state for checked position. mCurCheckPosition = savedInstanceState.getInt("curChoice", 0); } }
onActivityCreated()
在片段从堆栈返回后被调用。
onViewStateRestored
的Fragment
相当于Activity
的onRestoreInstanceState
。 但在onActivityCreated(Bundle)
和onStart()
之前onStart()
。