gpt4 book ai didi

flutter - 在 Dart 中动态初始化变量(单选按钮值)?

转载 作者:IT王子 更新时间:2023-10-29 07:16:43 31 4
gpt4 key购买 nike

假设我正在设计一个包含多项选择题的测验。每个问题的选项数量可能会有所不同。如何动态命名变量?例如。通常我们在 python 中做的是

_radValue+str(index) = -1

我们可以在 dart 中有这样的东西吗?

对于已知数量的单选按钮,我通常使用的代码是:


int _radioValue1 = -1;
int _radioValue2 = -1;
int _radioValue3 = -1;

单选按钮小部件如下所示:

Column(children:
List<Widget>.generate(
widget.items,
(int j) => Row(
children: List<Widget>.generate(
widget.members,
(int i) => Radio<int>(
value: i,
groupValue: groupValue,
onChanged: _handleRadioValueChange,
),
),
),
),
),
}

void _handleRadioValueChange(int value) {
setState(() {
groupValue = value;
});
}

我可以通过包装生成的单选按钮列表来生成动态数量的单选按钮。我只是无法生成

_radioValue+(index).toString() = -1;

请帮忙!谢谢!

最佳答案

Dart 没有动态变量名的概念。使用值数组,并动态生成单选按钮小部件,值为 0、1、2 等。例如:

class RadioSet extends StatefulWidget {
List<String> questions;

RadioSet(this.questions);

@override
_RadioSetState createState() => _RadioSetState();
}

class _RadioSetState extends State<RadioSet> {
int groupValue = -1;

@override
Widget build(BuildContext context) {
return Row(
children: List<Widget>.generate(
widget.questions.length,
(int i) => Radio<int>(
value: i,
groupValue: groupValue,
onChanged: _handleRadioValueChange,
),
),
);
}

void _handleRadioValueChange(int value) {
setState(() {
groupValue = value;
});
}
}

顺便说一句,每个 Radio 都有固定的、不同的 value,选择的是值与组值匹配的那个。

关于flutter - 在 Dart 中动态初始化变量(单选按钮值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57154184/

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