为什么Android在使用for-loop时只显示最后一个Activity?

时间:2011-03-27 18:52:31

标签: java android

也许我不习惯Android开发,但是当我看时,我希望一切都按顺序完成。当一个活动结束时,下一个活动开始。但是,似乎我的代码不能以这种方式工作。以下面的代码为例:

for (int i = 0; i < 3; i++){            
   Intent myIntent = new Intent(Game.this.getBaseContext(), NextScreen.class);
   myIntent.putExtra("something", i);
   myIntent.putExtra("Opp", oppList.get(i).toString());
   startActivityForResult(myIntent, 0);
}

它不会显示活动1,等待您在该屏幕中执行操作,然后返回第二个活动。它立即显示第三个活动。如果我单击我的Android模拟器上的后退按钮,它将显示我的活动二...如果我再次点击它,它将显示我的活动...所以它只是将这些活动快速触发到屏幕上无需等待你在这些活动中做你做的事情。我敢肯定,我不是第一个想做这样事情的人。知道我做错了什么吗?你是如何解决这种情况的?

2 个答案:

答案 0 :(得分:0)

活动以异步方式执行。序列化此方法的一种方法是使用onActivityResult方法链接活动。向每个(子)活动传递一个活动编号,从0开始,让子活动将其作为结果的一部分返回。您的onActivityResult逻辑可以处理响应,然后检查活动编号并触发下一个活动(如果有)。

答案 1 :(得分:0)

我不相信你可以在一个方便的功能中排队这样的页面。你最好有一个函数nextPage,当前的活动将用户移动到下一个活动。每当用户准备好进入下一页(由按钮或其他东西触发)时,就可以调用此方法。

或者直接按下按钮上的下一个活动