android – 在onCreate中检查savedInstanceState是否为null是判断设备是否已旋转的好方法?

android – 在onCreate中检查savedInstanceState是否为null是判断设备是否已旋转的好方法?,第1张

概述只有当它们是第一次构建时,我才想在我的Activities’onCreate()方法中做的事情,而不是在设备被旋转时(在配置更改时).目前我正在检查传入onCreate()的savedInstanceState参数.如果它为null,那么它是Activity第一次启动,否则只有一个旋转. 这是一个好的,可靠的方式来告诉这个吗?有替代品吗? 我不知道更好的解决方案. Romain Guy描述了 sa 只有当它们是第一次构建时,我才想在我的ActivitIEs’onCreate()方法中做的事情,而不是在设备被旋转时(在配置更改时).目前我正在检查传入onCreate()的savedInstanceState参数.如果它为null,那么它是Activity第一次启动,否则只有一个旋转.

这是一个好的,可靠的方式来告诉这个吗?有替代品吗?

解决方法 我不知道更好的解决方案. Romain Guy描述了 same approach(检查savedInstance状态或您传递的其他对象为null).

In the new activity,in onCreate(),all you have to do to get your
object back is to call getLastNonConfigurationInstance(). In
Photostream,this method is invoked and if the returned value is not
null,the grID is loaded with the List of photos from the prevIoUs
activity:

private voID loadPhotos() {    final Object data = getLastNonConfigurationInstance();    // The activity is starting for the first time,load the photos from Flickr    if (data == null) {        mTask = new GetPhotoListTask().execute(mCurrentPage);    } else {        // The activity was destroyed/created automatically,populate the grID        // of photos with the images loaded by the prevIoUs activity        final LoadedPhoto[] photos = (LoadedPhoto[]) data;        for (LoadedPhoto photo : photos) {            addPhoto(photo);        }    }}

当我懒得这样做时,我只是禁用在方向更改时重新创建活动.如How do I disable orientation change on Android?所述

总结

以上是内存溢出为你收集整理的android – 在onCreate中检查savedInstanceState是否为null是判断设备是否已旋转的好方法?全部内容,希望文章能够帮你解决android – 在onCreate中检查savedInstanceState是否为null是判断设备是否已旋转的好方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1126937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存