活动调用另一个活动,并且必须在另一个活动完成后再次恢复

时间:2013-12-11 18:54:15

标签: android android-activity

我是Android新手。我的问题是:

  1. 活动A在执行过程中调用活动B
  2. 活动B必须开始并完成其执行
  3. 只有活动A必须恢复(不重启)
  4. 活动A有一个循环。在循环中间的某个地方,调用活动B,一旦B完成,A应该从它停止的地方恢复循环。

    我尝试对此进行编码,但现在发生的事情是,活动A调用B,但未输入B,然后A恢复循环并再次调用B.

    本质上,对B的调用是堆叠的,一旦A中的循环完成,就会逐个执行堆栈中对B的调用,所以最后以后进先出顺序执行最后一次对B的调用。我只想在适当的时候执行一次。

    任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

您的应用使用了错误的设计范例。你不应该开始这样的另一项活动。一定要将代码保存在单独的模块上,但不要仅仅为了转移控制而启动另一个活动。

答案 1 :(得分:0)

当您调用活动B时,您的活动将恢复,请勿完成活动A.如果您需要在恢复时编写一些代码。你可以通过覆盖活动A的onResume方法来做到这一点。

答案 2 :(得分:0)

看看开始Activity for result。您可以为活动B启动某些结果,当活动B完成时,将调用活动A的onActivityResult方法,您可以将其设置为继续/开始在那里工作。

修改
根据您更新的问题,您可以尝试:

  1. 在活动A中创建一个启动循环的方法
  2. 当您决定要致电活动B时 2.1退出循环,并保存到循环的位置 2.2为结果启动活动B
  3. 当活动B完成并返回某种结果时,您将在活动A中重新启动循环(形成您在步骤2.1中保存的点)