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()在片段从堆栈返回后被调用。

onViewStateRestoredFragment相当于ActivityonRestoreInstanceState 。 但在onActivityCreated(Bundle)onStart()之前onStart()