作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个alertDialog
,它接受输入以进行进一步处理。因为处理可能需要一段时间,所以我想关闭 alertDialog
并在执行 process 方法期间显示图像。问题在于 process()
在对话框实际关闭之前被调用。因此,在加载期间,程序基本上“挂起”,显示警报对话框,直到 process() 完成,之后图像会显示一瞬间,从而违背了其目的。
我尝试在process()
方法中显示图像,并尝试在同步方法中执行dialog.dismiss()
,但结果保持不变。
alertDialogBuilder.setCancelable(true).setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
final String input = et.getText().toString();
dialog.dismiss(); //finish this first
process(input); //then do this
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
最佳答案
您可以使用
alertDialogBuilder.setOnDismissListener(new
DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
//do work on dismiss of dialog
}
});
因此,您可以在本部分中显示图像并开始您的过程。在进程结束时添加回调监听器,并使用回调使进程结束时图像不可见。
关于java - 如何在进一步处理之前关闭对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46990871/
我有这个: const {ops} = getOplogStreamInterpreter(strm); ops.del.subscribe(v => { console.log('delete
我四处搜索,据我所知,POST 表单请求已被限制为 10MB (http://golang.org/src/net/http/request.go#L721)。 如果我要在我的 ServeHTTP 方
我是一名优秀的程序员,十分优秀!