AlertDialog.Builder为什么没有点确认也在执行后面的代码
时间: 2024-03-22 18:40:08 浏览: 56
AlertDialog实现代码
AlertDialog.Builder是Android中用于创建对话框的一个类,它的show()方法是异步执行的,也就是说,当我们调用show()方法时,程序并不会等待用户的确认,而是会继续执行后面的代码。因此,如果我们在show()方法后面立即执行一些代码,这些代码会立即执行,而不会等待用户点击确认按钮。
如果我们希望在用户点击确认按钮后再执行一些其他代码,可以在AlertDialog.Builder中设置一个监听器,这个监听器会在用户点击确认按钮时被调用,我们可以在这个监听器中执行我们需要的代码。例如:
```
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示");
builder.setMessage("确定要执行这个操作吗?");
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 在这里执行确认操作后的代码
}
});
builder.setNegativeButton("取消", null);
builder.show();
// 在这里执行的代码会在对话框显示出来后立即执行
```
在这个示例中,我们设置了一个确认按钮的监听器,当用户点击确认按钮时,这个监听器会被调用,在监听器中执行确认操作后的代码。而在AlertDialog.Builder的show()方法后面执行的代码会在对话框显示出来后立即执行。
阅读全文