Android Studio 跳转界面后返回怎么使得原来的复选框保持跳转前的选中状态
时间: 2023-11-22 21:23:52 浏览: 126
在 Android Studio 中,我们可以使用 Intent 来进行不同 Activity 之间的跳转,并且可以传递数据。
要保持原来界面的复选框的选中状态,我们需要在跳转之前将复选框的选中状态存储起来,然后在跳转回来的时候再将复选框的选中状态取出来。这可以通过 startActivityForResult 和 onActivityResult 方法实现。
具体步骤如下:
1. 在原页面中,使用 startActivityForResult 方法跳转到目标页面,并传递复选框的选中状态。
```
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("isChecked", checkBox.isChecked());
startActivityForResult(intent, requestCode);
```
2. 在目标页面中,获取传递过来的复选框的选中状态,并进行操作。
```
Intent intent = getIntent();
boolean isChecked = intent.getBooleanExtra("isChecked", false);
checkBox.setChecked(isChecked);
```
3. 在目标页面中,当需要跳转回原页面时,使用 setResult 方法将复选框的选中状态传递回去。
```
Intent intent = new Intent();
intent.putExtra("isChecked", checkBox.isChecked());
setResult(RESULT_OK, intent);
finish();
```
4. 在原页面中,重写 onActivityResult 方法,获取目标页面返回的复选框的选中状态,并进行操作。
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == requestCode && resultCode == RESULT_OK) {
boolean isChecked = data.getBooleanExtra("isChecked", false);
checkBox.setChecked(isChecked);
// 进行操作
}
}
```
这样就可以在跳转页面后保留原页面的复选框的选中状态了。
阅读全文