【问题标题】:Android: Pause FOR loop to waiting for child activity called by startActivityForResult to finish()Android:暂停 FOR 循环以等待 startActivityForResult 调用的子活动完成()
【发布时间】:2016-04-14 03:59:04
【问题描述】:

我正在尝试使用此代码一一启动一些活动

 for (Card c : cards) {
                    i++;
                    Intent intent = new Intent(this, OneChoiceActivity.class);
                    intent.putExtra("mode", "oneChoice");
                    intent.putExtra("cardID", c.getId());
                    intent.putExtra("totalNumber", cards.size());
                    intent.putExtra("currentNumber", i);
                    startActivityForResult(intent, 1);

                }

我想在每次启动子活动时获取意图,做某事,完成它,父活动将等待每个子活动退出,然后调用下一个活动。但是 for 循环在显示任何活动之前运行并完成。有解决办法吗?

【问题讨论】:

  • 不要使用循环。当一个启动的Activity 完成并返回时,主ActivityonActivityResult() 方法将运行。在那里开始下一个Activity
  • 谢谢@MikeM,我实现了你的解决方案,它成功了:)

标签: android android-intent startactivityforresult waitforexit


【解决方案1】:

您可以尝试实现一个队列来存储您的卡片。然后你从队列中得到一张卡片,启动意图并等待结果。当您收到结果时,您会从队列中获取下一个元素并继续操作,直到您处理完所有卡片。然后你继续你的流程。

【讨论】:

    【解决方案2】:

    这里没有得到你真正想问的问题。但.. 使用Handle.postDelayed(new Runnable(){.//你的代码在run method().....},(时间限制例如2000)) 因此。希望这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      相关资源
      最近更新 更多