在Android开发中,finish()
方法是用于关闭当前活动的。当你调用一个活动的startActivityForResult()
方法时,会启动一个新的活动,并返回结果给启动它的活动。为了关闭启动它的活动,你需要在当前活动中调用finish()
方法。
以下是如何在Android中使用finish()
方法的示例:
SecondActivity
)并在AndroidManifest.xml
中注册它。<activity android:name=".SecondActivity"></activity>
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
将接收到结果。