【问题标题】:How to start resume an activity with new information?如何使用新信息开始恢复活动?
【发布时间】:2012-11-01 08:06:45
【问题描述】:

我有一个包含多个按钮的活动 A。单击按钮启动活动 B。在 startActivity(intent) 中使用的意图包含有关应将什么布局应用于活动 B 的信息。例如,单击 avtivity A 的“宽”按钮将在活动 B 中设置“宽”布局。

这一切在第一次运行良好,但是当在活动 A 中单击不同的按钮时,它只是再次加载相同的布局。

我尝试过的事情是:

  • 在活动 B 中,将 setContentView() 从 onCreate 移动到 onResume。我想这没有任何效果,因为意图与活动首次启动时的意图仍然相同。

  • 在清单文件中将“android:noHistory = “true”添加到活动 B。这具有加载正确布局的预期效果,但“破坏”了后退按钮的功能。

还有人有其他想法吗?

-

【问题讨论】:

  • 请勿将“Android”放在主题中。你有这个标签。而且你的接受率远非诱人......

标签: android android-intent android-activity onresume


【解决方案1】:

试试这个,可能对你有帮助

Intent intent = new Intent(MainActivity.this, TargetActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
MainActivity.startActivity(intent);

【讨论】:

  • 谢谢。我最终只使用了 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);在清单中我放了 android:launchMode="singleTop" (对于活动 A 和 B)。然后它开始按需要工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
相关资源
最近更新 更多