gpt4 book ai didi

flutter - AlertDialog应该显示另一个AlertDialog,但是直到我关闭并再次打开它才发生

转载 作者:行者123 更新时间:2023-12-03 04:12:54 26 4
gpt4 key购买 nike

当我单击另一个子对话框时,我想显示它
First AlertDialog
但是当我点击它没有
显示它,直到我关闭警报并再次打开它
Second AlertDialog after I closed it and opened it again
我想导航到Second AlertDialog而不关闭它
任何帮助将不胜感激
任何使它打开另一个对话框的方法,或者关闭它并再次打开它的方法
这是代码

          padding: const EdgeInsets.only(top: 12.0),
child: ListView(children: [
FutureBuilder<DropDown>(
future: getDropData(),
builder: (context, snapshot) {
if (snapshot.hasData) {
DropDown dropdown = snapshot.data;
return RaisedButton(
color: maincolor,
splashColor: accentcolor,
onPressed: () {
showDialog(
context: context,
useSafeArea: true,
child: Center(
child: Padding(
padding: const EdgeInsets.only(top: 20),
child: ListView.builder(
itemCount: dropdown.categories.length,
itemBuilder: (context, index) {
return Padding(
padding: const EdgeInsets.only(
top: 8.0, right: 8, left: 8),
child: Container(

),
child: FlatButton(
onPressed: () {
setState(() {
categoryID = dropdown
.categories[index]
.categoryId;
});
getDropData();
},
child: Text(
dropdown.categories[index].name,

)),
),
);
}),
),
));```

最佳答案

我认为您只需要使用setState()来包装showDialog(),但由于我没有DropDown类,因此无法对其进行测试。
编辑
我尝试了一个简单的结构,并且效果很好。如Dung Ngo所述,只需使用StatefulBuilder来构建第一个AlertDialog小部件的内容。触发另一个showDialog()内部以调出第二个AlertDialog小部件。

class _YourWidgetState extends State<YourWidget> {

AlertDialog alert = AlertDialog(content: Center(child:Text("Second Alert Dialog")));

@override
Widget build(BuildContext context) {
return RaisedButton(onPressed: (){
showDialog(
context: context,
builder: (_) => AlertDialog(
content: StatefulBuilder(
builder: (BuildContext context, StateSetter setState){
return Column(
children: <Widget>[
RaisedButton( onPressed: (){
showDialog(context: context, builder: (_) => alert);
}),
RaisedButton(onPressed: (){
showDialog(context: context, builder: (_) => alert);
}),
],
);
}
),
)
);
});
}
}
结果
enter image description here

关于flutter - AlertDialog应该显示另一个AlertDialog,但是直到我关闭并再次打开它才发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63546612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com