android 在弹窗中点击按钮使用registerForActivityResult
时间: 2024-05-04 22:13:44 浏览: 15
在Android中,可以使用`registerForActivityResult`方法来处理弹窗中点击按钮的结果。这个方法是在`Activity`或`Fragment`中调用的,用于注册一个用于处理结果的回调函数。
首先,你需要定义一个`ActivityResultLauncher`对象,并使用`registerForActivityResult`方法进行注册。例如,你可以这样定义一个用于处理弹窗结果的回调函数:
```java
ActivityResultLauncher<Intent> launcher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == Activity.RESULT_OK) {
// 处理弹窗按钮点击后的逻辑
// 可以在这里获取返回的数据或执行相应的操作
}
}
);
```
接下来,在弹窗中点击按钮时,你可以使用`launcher.launch(intent)`方法来触发回调函数。这里的`intent`是启动弹窗的意图。
```java
button.setOnClickListener(view -> {
// 弹窗按钮点击事件
Intent intent = new Intent(context, PopupActivity.class);
launcher.launch(intent); // 启动弹窗并注册回调函数
});
```
当弹窗中的按钮被点击后,会触发回调函数中的逻辑。你可以在这里处理返回的数据或执行相应的操作。