1

假设您有一个名为“main”的主要活动,以及其他完成一些工作然后返回一些数据的子活动。每次调用 main 时,它都会一次启动一个子活动。

主要的:

onCreate...{

Intent i1 = new Intent("com.bla.bla.activity1");
startActivity(i1);

//Get bundles from activity1 and save some variables..

Intent i2 = new Intent("com.bla.bla.activity2");
startActivity(i2);

//Get bundles from activity2 and save some variables..

Intent i3 = new Intent("com.bla.bla.activity3");
startActivity(i2);

//Get bundles from activity1 and save some variables..
}

如果我理解正确,activity1 将首先被创建,然后被销毁。代码会恢复并启动activity2,还是会再次启动activity1,因为主要活动被暂停然后恢复(假设我们不添加onResume/onPause等)?

编辑:

假设这些子活动每个都返回一个字符串,并且每个字符串应该保存在主活动末尾的 SQL 条目的一个单独的列中。主要活动应该收集三个字符串,将其保存为 en entry 并自行销毁。为此,主要活动必须在意图“i1”完成一些工作并返回字符串之后在意图“i2”处恢复。如何最好地实现这一结果?

4

1 回答 1

0

就像亚历克斯说的,你不想那样做。您想使用不同的 Intent 调用不同的活动来为您的程序创建流程。Main 可能会导致 Activity 1,Activity 1 会导致 2、3 或 4。如果您有多个 Activity,则可以使用 switch 语句根据满足或不满足的条件来确定要启动的 Activity .

希望这可以帮助。

编辑答案:

如果要保存来自不同活动的变量,则需要从第一个活动、第三个活动、第二个活动开始,依此类推。要为数据库创建数据,您可以简单地创建一个对象,然后使用Parcelable接口将该对象从 Activity 传递给 Activity。在您认为合适的每个活动中,您都希望使用方法将返回的数据保存到数据库中。

于 2012-07-07T00:38:59.790 回答