Android指定活动finish的使用
在Android开发中,经常会遇到需要在一个活动中启动另一个活动,并在第二个活动完成后返回到第一个活动的情况。在这种情况下,我们可以使用finish()
方法来指定活动的销毁。
finish()方法的作用
finish()
方法是Activity类中的一个方法,用于销毁当前的活动。当调用finish()
方法时,当前活动将会被销毁并从活动栈中移除。
使用finish()方法指定活动销毁的场景
-
启动新的活动并返回结果:在某个活动中启动另一个活动,并在第二个活动完成后返回第一个活动的结果。此时,我们可以在第一个活动中使用
startActivityForResult()
方法启动第二个活动,并在第二个活动完成后调用finish()
方法返回结果。// 在第一个活动中启动第二个活动 Intent intent = new Intent(FirstActivity.this, SecondActivity.class); startActivityForResult(intent, REQUEST_CODE); // 在第二个活动完成后返回结果 Intent intent = new Intent(); intent.putExtra("result", result); setResult(RESULT_OK, intent); finish();
在第一个活动中,可以通过重写
onActivityResult()
方法来获取第二个活动返回的结果。@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { String result = data.getStringExtra("result"); // 处理返回的结果 } }
-
结束活动并返回前一个活动:在某个活动中启动另一个活动,并在第二个活动中点击返回按钮返回到前一个活动。此时,我们可以在第二个活动中调用
finish()
方法来结束当前活动并返回到前一个活动。// 在第二个活动中点击返回按钮 @Override public void onBackPressed() { super.onBackPressed(); finish(); }
当点击返回按钮时,当前活动将会被销毁并返回到前一个活动。
流程图
下面是使用mermaid语法绘制的流程图,展示了在不同场景下使用finish()
方法指定活动销毁的流程。
flowchart TD
A[第一个活动] --> B{启动新的活动并返回结果}
B -- 调用finish() -->|返回结果| A
A --> C{结束活动并返回前一个活动}
C -- 点击返回按钮 --> A
总结
本文介绍了在Android开发中使用finish()
方法来指定活动销毁的场景,并给出了相应的代码示例。在需要启动新的活动并返回结果或结束当前活动返回前一个活动的情况下,我们可以使用finish()
方法来实现相应的功能。希望本文对于你理解和使用finish()
方法有所帮助。