我希望标题足以理解我的问题是什么,我如何在单击时在 TextField 中显示按钮的值?在此先感谢帮助我配置此问题的人。
TextEditingController _controller;
void initState() {
_controller = new TextEditingController(text: '${formatCurrency.format(totalbet)}');
}
child: TextField(
controller: _controller,
textAlignVertical: TextAlignVertical.center,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: globals.fontsize_28,
color: Colors.black,
fontWeight: FontWeight.bold,
fontFamily: "Nunito",
),
decoration: new InputDecoration(
contentPadding: EdgeInsets.zero,
border: new OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(10.0),
),
),
)
按钮
child: FlatButton(
child: Container(
child: RichText(
text: TextSpan(
text: "500",
style: TextStyle(
fontSize: globals.fontsize_18,
color: Colors.white,
fontWeight: FontWeight.bold),
),
),
),
onPressed: () {
setState(() {
if (betbuttonstate[0] == false) {
betbuttonstate[0] = true;
totalbet = totalbet + betbuttonvalue[0];
totalmoney = totalmoney - betbuttonvalue[0];
} else {
betbuttonstate[0] = false;
totalbet = totalbet - betbuttonvalue[0];
totalmoney = totalmoney + betbuttonvalue[0];
}
});
},
),
答案 0 :(得分:1)
像这样按下 setState() 按钮时,通过控制器 _controller.text = newValue
更改值。
onTap: (){
setState((){
_controller.text=newValue
});
}
答案 1 :(得分:0)
onPressed
方法中试试这个 setState(() {
if (betbuttonstate[0] == false) {
betbuttonstate[0] = true;
totalbet = totalbet + betbuttonvalue[0];
totalmoney = totalmoney - betbuttonvalue[0];
} else {
betbuttonstate[0] = false;
totalbet = totalbet - betbuttonvalue[0];
totalmoney = totalmoney + betbuttonvalue[0];
}
_controller.text = '${formatCurrency.format(totalbet)}';
initState
应如下所示 @override
void initState() {
super.initState();
_controller =
new TextEditingController(text: '${formatCurrency.format(totalbet)}');
}