当我在TextField中输入时。如果两位数的和为真,它将调用reload()。之后,将生成两个随机数。但当我再次输入时,它不工作。我必须每次单击TextField进行输入。
我使用FocusNode来保持焦点,但它不工作。
文本字段
TextField(
focusNode: nd_input,
autofocus: true,
controller: input,
keyboardType: TextInputType.number,
textAlign: TextAlign.center,
onChanged: (value) {
fun_sum(value);
FocusScope.of(context).requestFocus(nd_input);
setState(() {
});
},
fun_sum函数
void fun_sum(var value){
int sum = num1 + num2;
print("Sum :${sum}");
if(sum == int.parse(value)){
setState(() {
input.text = "";
reload();
});
}
}
重载功能
void reload(){
field_one();
field_two();
setState(() {
});
}
1条答案
按热度按时间kknvjkwl1#
我认为**setState()**函数会给您带来问题。请尝试以下操作:
您的文本域
函数函数函数
重新加载函数
你不需要递归地调用setState()。如果有帮助,请告诉我。