如何回到Android中的第3个活动?

时间:2011-08-26 09:23:34

标签: android android-activity android-intent listactivity activity-finish

在我的Android应用程序中,我首先搜索一个咖啡馆。当用户选择一个咖啡馆时,下一个活动将显示有关它的更多细节然后用户可以查看咖啡馆的地图。当用户点击完成按钮时,我需要将用户重定向到搜索结果,这是第一个活动。那我该怎么做呢?调用finish()方法只会关闭当前活动。

提前致谢!

5 个答案:

答案 0 :(得分:11)

您可以在继续操作时在每个活动中使用完成(),或者您可以使用此标记FLAG_ACTIVITY_CLEAR_TOP开始第一个活动,它将清除您的第一个活动的所有顶级活动,它将启动您的第一个活动top.Use这样:

Intent intent = new Intent(this, yourFirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

答案 1 :(得分:2)

使用此标志Intent.FLAG_ACTIVITY_CLEAR_TOP

启动该活动

参考: Android documentation

答案 2 :(得分:2)

//DOES NOT FINISH ALL ACTIVITY 

 Intent intent=new Intent();
 intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

答案 3 :(得分:0)

   Intent.FLAG_ACTIVITY_CLEAR_TOP 
除了你的第一个活动之外,

清除了所有内容,这应该可以很好地运作。

根据Android Application Developer Forum,您应按以下方式开展此活动: -

 startActivity(intent);

答案 4 :(得分:0)

为了使用户仍然可以返回上一个活动B,不应该使用Intent.FLAG_ACTIVITY_CLEAR_TOP

相反,活动B应该使用startActivityForResult(... C ...) 并且相同的活动B应使用onActivityResult()检查结果,如果在活动C中单击了DONE则结束。但如果在活动C中单击了返回,则活动B将正常显示。