Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在onCreate()中重新初始化活动数据与在Android中重新初始化onRestoreInstanceState()有什么不同_Android - Fatal编程技术网

在onCreate()中重新初始化活动数据与在Android中重新初始化onRestoreInstanceState()有什么不同

在onCreate()中重新初始化活动数据与在Android中重新初始化onRestoreInstanceState()有什么不同,android,Android,在onCreate和onRestoreInstanceState中重新初始化活动数据有什么不同 我在oncreate中也得到了bundle。所以我的问题是,为什么我不能在oncreate方法中设置数据,而在onRestoreInstantstate中做同样的事情。那么oncreate中bundle对象的用途是什么呢?我读了不同的教程,但没有得到相关的答案,所以如果有人知道区别,我们在哪里使用重新初始化活动数据的实现,即它是否应处于onCreate或onRestoreInstanceState……

在onCreate和onRestoreInstanceState中重新初始化活动数据有什么不同

我在oncreate中也得到了bundle。所以我的问题是,为什么我不能在oncreate方法中设置数据,而在onRestoreInstantstate中做同样的事情。那么oncreate中bundle对象的用途是什么呢?我读了不同的教程,但没有得到相关的答案,所以如果有人知道区别,我们在哪里使用重新初始化活动数据的实现,即它是否应处于onCreate或onRestoreInstanceState…………请让我知道

@numan salati说:

onRestoreInstanceState是冗余的,因为您可以在onCreate中轻松恢复状态

话虽如此,这就是官方文件所说的 onRestoreInstanceState:

大多数实现将只使用onCreateBundle来恢复它们的 国家,但有时在这里这样做很方便毕竟 初始化已经完成,或者允许子类决定 使用默认实现

因此,为了获得最佳实践,请在onCreate和 在onRestoreInstanceState中还原以前的状态。如果你这样做, 任何对您的活动进行子类化的人都可以选择覆盖您的活动 onRestoreInstanceState以扩充或替换还原状态逻辑。 要说onRestoreInstanceState充当 模板方法


请查看下面的链接:您好,谢谢您的回答,但我是Android新手,所以您可以告诉我允许子类决定是否使用默认实现的确切含义。默认实现是基于Oncreate bundle创建活动。如果要覆盖此行为以更改任何状态,可以在自己的onRestoreInstanceState实现中执行