【问题标题】:Is it possible to call one activity from two different activities in android是否可以从android中的两个不同活动中调用一个活动
【发布时间】:2015-01-29 20:39:00
【问题描述】:

所以,我有 2 个活动,第一个(让我们称之为 A)将数据传递给带有列表的活动,让我们称之为 B。B 然后使用来自 A 的数据并从中创建一个列表。A 服务然后 S 由 B 调用。服务然后调用另一个活动,比如说 C,它反过来启动 B。B 是否仍应处理所有数据?顺便说一句,所有活动都是 ActionBarActivities。

【问题讨论】:

  • 是的,代码太复杂了,我很想在这里发帖,我真的一直在为此扯头发。
  • 那么您从代码中得出了什么结论?它应该工作吗?您面临什么错误/问题?如果你尝试更具体,你会得到一个很好的答案。
  • Logcat 没有帮助,我很确定在使用 startActivity 时会发生错误。我认为这是因为数据没有正确传输但我不知道,我也没有足够的积分来讨论这个问题
  • 这取决于您的活动的启动模式。请参阅developer.android.com/guide/topics/manifest/… 从您的描述中,您可能需要 singleTask。或者,使用 REORDER_TO_FRONT 标志从 C 开始您的活动:developer.android.com/guide/topics/manifest/…
  • 感谢您的提示,但您如何准确使用“REORDER_TO_FRONT”

标签: android android-activity data-transfer


【解决方案1】:

在一般情况下,每次使用startActivity 调用活动时,都会创建一个新实例。

可以使用launchMode 修改此行为。 singleTask 将始终是同一个实例,但您的活动必须位于任务的根目录

还可以使用标志FLAG_ACTIVITY_REORDER_TO_FRONT 将现有活动回调到堆栈的前面。文档中并不清楚新数据是如何传递的,或者是否保留了活动中以前的数据。

【讨论】:

  • 这样也行:Intent getfinIntent = new Intent(LockScreen.this,MainActivity2.class); getfinIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(getfinIntent);
  • 这是我会尝试的,是的。
  • 你应该得到奖励,谢谢你第二次帮助我。
猜你喜欢
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多