我的应用程序有两个活动Activity1和Activity2。在(Launcher)Activity1中,有一个显示当前位置的地图,而Activity2有一个标记位置列表。当用户单击Activity2中的特定标记时,将在Activity1中的地图上跟踪路径。我必须返回Activity1。我在地图上追踪路径后尝试调用finish()
Activity Activity2=(Activity)context;
Activity2.finish();
它的工作但不是很好的做法,请有人建议我怎么能这样做? 提前致谢
答案 0 :(得分:1)
要从一个活动切换到另一个活动,您可以使用Intents。
当您在Activity2中时,您可以使用下面编写的代码。
Intent intent = new Intent(this,Activity1.class);
startActivity(意向);
答案 1 :(得分:1)
我认为调用Activity.finish()
返回上一个活动没有任何问题 - 事实上,我认为它非常标准。
一种常见的模式是从第一个Activity调用Activity.startActivityForResult()以启动第二个Activity,然后在第二个Activity上调用Activity.setResult()和Activity.finish()以将任何有用的结果传回给第一
Activity.finish()
的文档中也提到了这一点:
在您的活动完成后调用此选项并应关闭。 ActivityResult会传播回通过onActivityResult()启动你的人。
即使您通过其他机制(不使用setResult
)传播结果,也没有理由避免在此方案中使用完成。