0

我有一个带有多个活动的 android 应用程序。每个活动在操作栏中都有应用程序图标,它可以帮助用户直接返回到主要活动,而不是按返回按钮。我的问题是当我使用图标开始我的家庭活动时不使用堆栈中的前一个实例并重新开始创建它。

我的操作栏应用程序图标代码是:

startActivity(new Intent(this, DashBoard.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));

上面的代码启动仪表板活动并调用它的 onCreate() 和 onResume()。但是如果我使用后退按钮从任何活动返回到此活动,它只会调用 onResume()。

清单文件中的活动定义:

    <activity
        android:name=".DashBoard"
        android:configChanges="keyboardHidden"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>

为什么会发生这种情况?我是否遗漏了一些东西以防止它再次创建它?请帮助

谢谢

4

2 回答 2

2

使用setFlags(), 而不是addFlags(). 你走在正确的轨道上。使用以下代码。

Intent intent = new Intent(this, DashBoard.class);    
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
于 2013-01-29T08:30:35.353 回答
0

删除 FLAG_ACTIVITY_CLEAR_TOP。

于 2013-01-29T08:19:11.970 回答