在Android开发中,finish()
方法是用于关闭当前活动的。当你调用一个活动的startActivityForResult()
方法时,会启动一个新的活动,并返回结果给启动它的活动。为了关闭启动它的活动,你需要在当前活动中调用finish()
方法。
以下是如何在Android中使用finish()
方法的示例:
- 首先,创建一个新的活动(例如
SecondActivity
)并在AndroidManifest.xml
中注册它。
- 在你的主活动(例如
MainActivity
)中,启动SecondActivity
并使用startActivityForResult()
方法。
private static final int SECOND_ACTIVITY_REQUEST_CODE = 1; public void onClick(View view) { Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, SECOND_ACTIVITY_REQUEST_CODE); }
- 在
SecondActivity
中,设置一个按钮,当用户点击该按钮时,关闭SecondActivity
。
public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Button button = findViewById(R.id.button_close); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } }
- 在
MainActivity
中,重写onActivityResult()
方法,以便在SecondActivity
关闭后接收结果。
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == SECOND_ACTIVITY_REQUEST_CODE) { if (resultCode == RESULT_OK) { // 在这里处理SecondActivity关闭后的逻辑 } } }
现在,当用户点击SecondActivity
中的关闭按钮时,SecondActivity
将被关闭,MainActivity
将接收到结果。