我需要创建带有int项的DropdownButton小部件,但是它不能按预期工作。
这是代码:
<activity android:name=".view.UI.EmptyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
问题是小部件永远不会获得所选的值。即使选择一个值,我也总是看到“提示”文本。
答案 0 :(得分:2)
您所缺少的是DropdownButton的value
属性。如果该值为空,则将显示提示,否则显示最新选择的值。
下拉列表中使用的值与整个列表无关,这就是为什么您应该将相关信息传递给它们的原因。我使用下面的value属性修改了您的代码。
DropdownButton<int>(
hint: Text("Pick"),
value: _number_tickets_total,
items: <int>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((int value) {
return new DropdownMenuItem<int>(
value: value,
child: new Text(value.toString()),
);
}).toList(),
onChanged: (newVal) {
setState(() {
_number_tickets_total = newVal;
});
});