- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我或多或少是android编程的初学者
我的问题来自 this post .
据我所知,主要有两种方法可以重新启动我所在的同一个 Activity:
a)Activity.recreate()
[在 API 11 之后添加]
二)
Intent intent = getIntent();
finish();
startActivity(intent);
这两者究竟是如何运作的?他们重新创建 Activity 的过程有什么不同吗?
我相信这两个重新创建 Activity 的方式一定有一些区别,因为,我已经看到 recreate()
向我的 Activity 中的 View 添加了一些默认(垃圾?)值。此外,recreate()
使用默认的黑色启动 View 启动新 Activity
最佳答案
重新创建 -(您可以恢复 Activity 状态)这导致与由于配置更改而创建 Activity 时基本相同的流程——当前实例将经历其生命周期到 onDestroy(),然后在它之后创建一个新实例。 这也意味着 ViewModel 没有被销毁。
recreate() 方法就像配置更改一样,因此如果适用,您的 onSaveInstanceState() 和 onRestoreInstanceState() 方法也会被调用。
非常有趣的阅读: http://developer.android.com/training/basics/activity-lifecycle/recreating.html
对比
完成ActivityResult 通过 onActivityResult() 传播回启动您的人。并作为堆栈顶部的新 Activity 再次开始
关于android - 使用 recreate() 方法和 startActivity(getIntent()) 重新创建 Activity 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315180/
迁移工作正常,但我的应用程序有时必须重新启动(recreate())才能执行界面操作。此时应用程序因迁移而崩溃: java.lang.RuntimeException: Unable to start
我正在创建一个简单的考试结果存储程序。该 Activity 根据用户的当前结果更改主题 - 例如血红色表示不及格等。当用户删除主题并导致整体结果发生重大变化时,主题会发生变化。主题由这个方法决定:
我知道这可能非常简单,但我就是想不通。 我正在尝试在操作后重新加载/重新创建 Activity 。我知道我可以使用: Intent intent = getIntent(); finish(); st
是否可以在docker swarm模式下使用compose文件强制重新创建容器? (我知道在Dockerfile中使用HEALTHCHECK) 目前,我必须先删除堆栈,然后再重新部署- $ docke
我有一个简单的程序,可以从 Activity B 更改 Activity A 的背景。当您更改背景时,您需要刷新 Activity A 以使背景发生变化,在查看 stackoverflow 之后,最简
我正在开发的应用程序正在从互联网加载新闻。在主要的 Activity 上,我有一个包含主题选择的 RecyclerView。所有内容都在 onResume() 方法中加载和更新。这样做的原因是,每当我
我的目标是 API 级别 14+,所以我使用了 Activity.recreate()用于我的应用程序中的主题切换。效果很好,除了黑屏会闪烁约 0.5 秒。 我曾经认为不可能在这里提供更好的体验,直到
我目前正在上大学二级编程类(class)...我们正在研究运算符重载...为此我们将重建 vector 类...我正在构建类,发现其中大部分是基于 [] 运算符。当我尝试实现 + operator 时
我对 C++ 中 std::vector<> 的性能有疑问。通过调用其 clear() 方法重用相同的 vector 会更快,还是重新创建 vector 会更快? 下面的例子不是真实的代码,只是为了弄
我确实为 github 项目做出了贡献。 我 fork 了项目 我的东西做了吗 询问已接受的拉取请求。 现在,我的分支与主项目完全同步。好的。 我不希望任何人在 github 上从我的版本中 fork
我已经在 onCreate() 中使用了 setTheme(),如下所示: ... protected void onCreate(Bundle savedInstanceState) {
我认为直接把代码写下来会更容易,但我想要的是“重新创建”一个对象。所以在这个简单的例子中,我有一个以 int 作为属性的类。当我使用重新创建类时object = new Object();,int保持
我使用带有两个 fragment 的 ViewPager:PhotoFragment 和 GalleryFragment。 如果我滑动到第二个 fragment (GalleryFragment),我
我有一个关于mysql优化表的问题,我看了很多关于这个功能的文档,所有文档都说:它可以对InnoDB表进行碎片整理,重组表数据和关联索引数据的物理存储,以减少存储空间,但没有人能告诉我优化表的原理并解
试图重新创建这个 jquery 菜单以了解它是如何制作的,但我似乎无法让它正常工作,我最初复制了代码但出了点问题,有什么想法吗?非常感谢 原文:http://www.aldomatic.com/jqm
我正在使用 git 在测试服务器和实时服务器之间传输文件。首先,我曾经将测试的更新提交到 repo (Master),然后将更新从 repo (Master) pull 到实时服务器,然后整个实时网站
问题描述: 我的应用有主 Activity 和设置 Activity 。每次关闭设置 Activity 后,主 Activity 都会重新创建。 Main Activity 可以在两个地方通过 fin
我有一个支持库 fragment ,它发送网络调用,并在收到特定网络响应时 recreate() 父 Activity 。我可以看到 Activity 确实得到了重新创建,因为我可以看到调用了 onC
我有一个 Activity ,预计在启动时会传递一些额外信息。 当此 Activity 被销毁并重新创建时,从 onCreate() 中调用的 getIntent() 返回的 Intent 是否包含与
我想在更改主题后在 Activity recreate() 上放置一个过渡,可以吗? 我试过了:@android:anim/fade_in@android:anim/fade_out但它不起作用,这也
我是一名优秀的程序员,十分优秀!