flutter-custom-dialog
flutter-custom-dialog copied to clipboard
【BUG】关于dismiss的一个比较严重的问题
try {
_loadingDialog = YYDialog().build(context)
..widget(SpinKitWave(color: Colors.white))
..backgroundColor = Colors.transparent
//..barrierColor = Colors.black.withOpacity(.3)
..borderRadius = 4.0
..show();
//逻辑代码...
}catch(e){
_loadingDialog.dismiss();
}finally{
_loadingDialog.dismiss();
}
代码如上,当我使用try-catch时,如果此时没有异常,那么逻辑最终进入finally里面,弹框可以正常关闭,但是一旦逻辑抛出异常,此时无论进入catch还是进入finally,dismiss均无法关闭弹窗。
能否断点一下 _loadingDialog 看看它的值是不是 = null,实例化没成功?
能否断点一下 _loadingDialog 看看它的值是不是 = null,实例化没成功?
打印过了,不是null,而且对比了dialog里面的context与我当前的context也是相同的
话说为什么你要try 起来
话说为什么你要try 起来
因为我需要在网络请求的时候显示一个loading,然后当网络请求结束或者失败的时候将他dismiss掉,所以使用了finally来dismiss
网络错误不应该是这种写法的操作吧,错误有错误的回调 在错误回调中去执行
网络错误不应该是这种写法的操作吧,错误有错误的回调 在错误回调中去执行
不只是网络请求,在请求之前就有一些操作,此时需要先显示loading,这些操作里面有可能会出现一些异常,比如图片的处理之类的
然后还有一个问题,就是当我gravity设置为bottom的时候,此时我的dialog里面有输入框,键盘弹出会将输入框直接覆盖,而不是将输入框顶上来,请问有没有什么解决方法呢
请问你后续有解决吗?
试试 v1.0.20的 useRootNavigator 属性