【问题标题】:How to restart an activity correctly?如何正确重启活动?
【发布时间】:2013-09-16 15:20:36
【问题描述】:

我正在尝试重新启动活动,但我想保存位图,然后在重新启动应用程序后重新加载相同的位图。不确定以下方式是否可以有效地重新启动活动。 这就是我尝试重新启动活动的方式:

Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);

有人有什么想法吗?

【问题讨论】:

  • 您为什么要明确尝试重新启动活动?
  • 啊,这是因为我试图退出视图并将视图设置回活动。很难解释。
  • 如果您打开一个活动来获取视图并将其传递回原始活动,您不应该使用 startActivityForResult() 来执行此操作吗?
  • 这是可行的,getintent -> finish -> startintent....但我根本不推荐!如果您想刷新活动中的数据,您应该手动查看每个视图,以便您可以控制正在发生的事情..

标签: java android android-intent android-activity bitmap


【解决方案1】:

您可以使用它重新启动活动。

finish();
startActivity(getIntent());

【讨论】:

【解决方案2】:

提供了重新创建活动的方法 如果你调用 recreate();它将重新创建活动。 调用完成和开始活动不是干净的方法。 对于保存数据,有多种方法,例如将数据保存在应用程序类/静态变量中/将数据存储在先前的活动中/使用计数器。

【讨论】:

    猜你喜欢
    • 2016-12-28
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    相关资源
    最近更新 更多