请帮帮我这个问题。 示例我有Activity类MyActivity。我启动此Activity并将此实例称为“Home”。在这个活动中,我有三个按钮。 调用:Button1,Button2,Button3。 当我单击一个按钮时,它将启动另一个MyActivity实例。 那么,我可以这样做:
我点击Button1开始A1,点击Button2开始A2,然后Button3开始A3。我们将有这样的活动堆栈:home - > A1 - > A2-> A3。 在活动A3(MyActivity的一个实例)上。当我点击Button1时,我可以将A1移到前面而不是创建新的吗? 我想知道我能这样做吗?
答案 0 :(得分:1)
如果A1,A2和A3都是MyActivity
的实例,则无法执行此操作,因为无法告诉Android您要将哪个MyActivity
实例带到前面。
但是,如果您创建3个新活动(A1
,A2
和A3
),每个活动都来自MyActivity
,那么您可以通过设置开始这些活动时标记Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
。
您需要在清单中完成所有4项活动(MyActivity
,A1
,A2
,A3
。
你会有这样的事情:
public class A1 extends MyActivity {
}
public class A2 extends MyActivity {
}
public class A3 extends MyActivity {
}
并在MyActivity
中,在'onClick()when you start an activity (either
A1 ,
A2 or
A3`)中,您可以这样做:
Intent intent = new Intent(this, A1.class); // or A2 or A3
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
答案 1 :(得分:0)
在开始新活动之前,请尝试使用此标志
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);