我在运行时ProgressDialog失败时遇到问题。有几个问题,但是最大的问题是,在正确的情况下,调用dismiss时ProgressDialog将不会关闭。相反,我看到日志条目“ ProgressDialog已经被关闭”。一旦发生这种情况,应用程序将随着ProgressDialog旋转而冻结。
我的测试表明,即使我在要使用ProgressDialog的新实例时,以前的活动也正在渗入并影响ProgressDialog的所有实例。
这里的应用程序是我可以构建以显示问题的最小应用程序。在此示例中,关闭有效,但是一旦在一个实例中设置了“消息”字段,它就会渗入到另一个未设置“消息”的实例中。]
任何见识将不胜感激。
import 'dart:async';
import 'package:progress_dialog/progress_dialog.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
MyHomePage() ;
@override
Widget build(BuildContext context) {
final test1Button = Material(
borderRadius: BorderRadius.circular(30.0),
color: Color(0xff01A0C7),
child: MaterialButton(
onPressed: () {
print("Test1");
final ProgressDialog pr = new ProgressDialog(context);
pr.style(message: "Test 01");
pr.show();
new Timer(Duration(seconds: 3), () {
pr.dismiss();
});
},
child: Text("Test 01"),
),
);
final test2Button = Material(
borderRadius: BorderRadius.circular(30.0),
color: Color(0xff01A0C7),
child: MaterialButton(
onPressed: () {
final ProgressDialog pr = new ProgressDialog(context);
pr.show();
new Timer(Duration(seconds: 3), () {
pr.dismiss();
});
},
child: Text("Test 02"),
),
);
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
test1Button,
test2Button,
],
),
),
);
}
}
我在运行时ProgressDialog失败时遇到问题。有几个问题,但是最大的问题是,在适当的情况下,当...
嗯,当您检查进度对话框source code时,将设置为: