如何解决如何在按键时更改TextField的文本?
我正在尝试使用Flutter在Android Studio上制作计算器应用。
我如何拥有一个TextField(或任何其他小部件),可以通过电话键盘或单击应用程序(计算器)中提供的数字键盘来输入数字?
当用户按下操作按钮(+,-,*,/)时,如何将当前文本放入变量中的TextField中,然后清空Field以便能够键入更多数字?
解决方法
使用key
显示计算器屏幕。
TextFormField(
key: Key(calculatorValue.toString()),keyboardType: TextInputType.number,decoration: InputDecoration(
labelText: 'Total',),
当用户点击一个加号按钮时: 例如,“ 101”将变为“ 101 +”
InkWell(
onTap: (){
setState(() {
calculatorValue = calculatorValue.toString() + '+';
});
},child: Container(
width: 100
height: 50,child: Text('+')
)
)
,
我假设您正在创建一个带有显示器的计算器,可以在其中用键盘或按按钮将显示的操作或数字添加到显示器上。
将TextEditingController
分配到显示器的文本字段
final displayController = TextEditingController();
TextField(
controller: displayController
...
),
只需轻按一下即可触发操作按钮:
setState(() {
displayController.text += ' + '; // assuming add operation
});
相反,为了评估显示屏上的最终表达,我建议研究math_expressions之类的预制库
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。