0

我是 android 新手,我正在使用 TabActivity。从 TabActivity 我从意图开始活动。活动 A - B - C - D 的顺序,然后从活动 D,我如何创建相同的新活动 A(销毁以前的 A)。如果我使用 FLAG_ACTIVITY_REORDER_TO_FRONT 它不会创建活动,而是打开最后一个活动 A,如果我使用 Clear_top 那么它会破坏 B 和 C 活动。

请帮助实现这一目标。

4

3 回答 3

2

当您B从活动中调用活动时A,请在使用finish()创建新活动后调用。这将在那里结束活动。然后再次从witin Activity ,您可以使用意图创建一个新的Activity 。希望这可以帮助。BIntentADA

于 2013-08-08T05:21:36.997 回答
0

您可能需要考虑在调用下一个活动之前销毁前一个活动
,因此当您要从 A 调用活动 B 时,您可能希望使用关键字销毁活动 A finish() ,同样当您从 D 中移动时B to CC to D活动销毁C 的活动并调用新的活动 A,这样 A 活动将重新启动。

finish();    //finish the current class
Intent intent = new Intent(); 
intent.setClass(getApplicationcontext(), nextclass.class);  //specify the next class
startActivity(intent);      //start the next class.
于 2013-08-08T05:25:47.247 回答
0

http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

android:launchMode可能是您正在寻找的答案。从文档:

Every time there's a new intent for a "standard" activity, a new instance of the class is created to respond to that intent. Each instance handles a single intent.

意味着现有的活动(如果存在)将保持在当前堆栈中不变,并且将在当前堆栈的顶部创建新实例。因此,当用户返回按钮时,用户也会在堆栈底部看到您的活动 A。

于 2014-04-01T00:34:38.987 回答