问题描述
我用注释(大写)标记的行没有按预期执行。
当我切换某个ExpansionPanelRadio()
(例如语言english
)时的控制台输出:
- 我打开
ExpansionPanelRadio()
: Flutter: english false ( - 我关闭了
ExpansionPanelRadio()
: Flutter: english true (
选择语言 english
时的控制台输出,然后我单击另一个语言(例如 mandarin
):
为什么他们都说false
,而显然一个打开而另一个关闭?两个面板在更改之前和之后都处于不同的状态。
有了这些信息^^,我怎么知道ExpansionPanelRadio()
刚刚被窃听了?
List<String> languages = Languages.languagetoImagePath.keys.toList();
return SingleChildScrollView(
child: ExpansionPanelList.radio(
initialOpenPanelValue: targetLanguage,//see value in ExpansionPanelRadio
expansionCallback: (int panelIndex,bool isExpanded) {
print('${languages[panelIndex]} $isExpanded'); //<-- HEEEEEEERRREEEEE
},children: languages.map<ExpansionPanel>((language) {
return ExpansionPanelRadio(
value: language,headerBuilder: (context,bool isExpanded) { //and what's this bool for?
return Text(language);
},body: Text('Choose writing system(s) todo...'),);
}).toList(),),);
我认为这些可能是框架中的错误/错误,但我想在报告之前在 stackoverflow 上询问。
也许我只是不明白这些 Widget 应该如何使用。
任何帮助表示赞赏。
我最初认为 ExpansionPanelList.radio 可能是我打算做的完美 Widget,但看起来我只需要制作自己的自定义 Widget
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)