Android系统。如何在不创建新活动的情况下开始活动?

时间:2011-10-06 12:52:32

标签: java android

我尝试设置属性android:launchMode="singleTask"来调用Activity,但它仍然无法正常工作。

我需要只调用一次onCreate(Bundle bundle)方法,但每次启动Activity时它仍会调用。

我使用以下代码启动Activity:

public void onClick(View v) {
    Intent myIntent = new Intent(v.getContext(), NextActivity.class);
    startActivity(myIntent);
}

请让我知道我做错了什么

2 个答案:

答案 0 :(得分:1)

必须是这样的:

android:launchMode="singleTop"

并致电:

Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

已存在的主题:Android: new Intent() starts new instance with android:launchMode="singleTop"

答案 1 :(得分:0)

即使您启动模式为“singleTop”,也会启动一项新活动。

每次活动创建时,其onCreate()将会启动。

我的理解是singleTop选项,基本上完成了调用者Activity。

我认为您可能认为onCreate() Application 构造函数的一种形式,但它实际上是 Activity 构造函数。您可能希望在其他地方进行一次初始化。