Android 安卓返回同一活动完成旧活动
你好,我有一个从互联网获取数据的列表活动和一个搜索活动。 当用户按下搜索按钮时,搜索活动开始并从用户处获取筛选器。然后,当用户按下go按钮时,主列表活动开始,搜索活动结束。主要活动显示搜索结果 问题是当用户按下手机搜索结果活动上的“后退”按钮时,旧列表就会出现Android 安卓返回同一活动完成旧活动,android,Android,你好,我有一个从互联网获取数据的列表活动和一个搜索活动。 当用户按下搜索按钮时,搜索活动开始并从用户处获取筛选器。然后,当用户按下go按钮时,主列表活动开始,搜索活动结束。主要活动显示搜索结果 问题是当用户按下手机搜索结果活动上的“后退”按钮时,旧列表就会出现 A --> B --> A (B is finished) A --> A (this is activity stack, lets make another search) A --> A -->
A --> B --> A (B is finished)
A --> A (this is activity stack, lets make another search)
A --> A --> B --> A (b is finished)
A --> A --> A (ovvv noo)
调用新活动时,如何强制关闭以前的活动
我尝试了launchmode,nohistory true。当您调用新活动时,按如下方式完成当前活动:
finish();
还请阅读以下内容:我认为您正在寻找的是意图标志,我认为您感兴趣的是:标志\u活动\u清除\u顶部
让我知道这是否有效。我不确定您想要什么,但您可以选择使用“后退”按钮来完成活动,而不是完成活动
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
&& !event.isCanceled()) {
// TODO what you want
Intent intent = new Intent(ChoixPiecesJustificativesActivity.this,
MainActivity.class);
startActivity(intent);
return true;
}
return super.onKeyUp(keyCode, event);
}
您可以使用android:launchMode=singleTop进行A活动。请注意,在这种情况下,将在您的A活动中调用方法,您的活动应根据您的需要对其做出适当的反应。您可以使用android:launchMode=singleTask
结论-
A --> B (B is finished)
A (this is activity stack, lets make another search)
A --> B (b is finished)
A (ovvv yes)
你将永远不会有你的活动A或B的其他实例
单任务
系统在新任务和路由的根目录下创建活动
它的意图是什么。但是,如果活动的实例已经存在
存在时,系统通过
调用其onNewIntent方法,而不是创建新方法
参考资料:这将结束活动,但我很确定有一种启动模式会更好地满足他所描述的内容。我如何才能强制关闭以前的活动-糟糕的语法使其无法获得帮助Erik。我也用涂饰;我指的是前一个同样的活动。在五月份的问题A->B->A B完成了B启动A并自行完成。所以在活动堆栈中有两个活动。
A --> B (B is finished)
A (this is activity stack, lets make another search)
A --> B (b is finished)
A (ovvv yes)