gpt4 book ai didi

Android,Intent.FLAG_ACTIVITY_CLEAR_TOP 好像不行?

转载 作者:太空宇宙 更新时间:2023-11-03 11:26:53 25 4
gpt4 key购买 nike

在我的菜单中有一些项目。 Home 是它的一个项目,我想成为我的应用程序的根,每当用户点击它时,Android 清除堆栈然后返回主屏幕。

这是我的代码:

menu.setOnItemClickedListener(new MenuClickedListener() {
public void eventOccured(int id) {

Intent intent = null;
switch(id) {
case 1: intent = new Intent(context, More.class); break;
case 2: intent = new Intent(context, FavoriteScreen.class); break;
case 3: intent = new Intent(context, VideoShowList.class); break;
case 4: intent = new Intent(context, ShoppingList.class); break;
case 5: intent = new Intent(context, MainScreen.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
break;
}

if(intent != null)
context.startActivity(intent);
}
});

菜单工作正常,但似乎标志不起作用,因为从主屏幕,我转到第二个和第三个屏幕,然后单击菜单的“主页”项并返回主屏幕。现在,当我点击后退按钮时,我会转到第三屏幕、第二屏幕和主屏幕。

我将此菜单设计为小部件,以便设置一次并在我的所有屏幕上重复使用。

如有任何建议,我们将不胜感激。谢谢。

最佳答案

我已经尝试过 Intent.FLAG_ACTIVITY_CLEAR_TOP 但没有找到合适的解决方案所以最后这对我有帮助


Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
startActivity(mainIntent);

这会清除所有堆栈并仅运行 LoginActivity

关于Android,Intent.FLAG_ACTIVITY_CLEAR_TOP 好像不行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11945274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com