У меня проблема с флаттером приложения на странице заказа, и, когда я помещаю ввод числа в текстовое поле количества, он дает мне неправильные указания, например, когда я набираю 2000, он дает мне 0002 I не знаю, в чем причина этого, это может быть потому, что он идентифицирует _qty как текст, но опять же, он делает вычисления правильно, я также выполнил настройку Text и Alignment Text, но все, к сожалению, не удалось, поэтому я не Не знаю, что является причиной этого или как это исправить. Вот коды моего класса Home: Вот код:
```import 'package:flutter/material.dart';
class Home extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new _HomeState();
}
}
class _HomeState extends State<Home> {
int radiogroup = 0;
String userinfo = '';
int qty = 0;
String txt = '';
final TextEditingController _qty = new TextEditingController();
void totalprice(String orderprice, int deliveryprice) {
if (orderprice.isNotEmpty && int.parse(orderprice) > 0) {
int totalprice = int.parse(orderprice) * deliveryprice;
setState(() {
txt = 'your order price is \$$totalprice';
});
} else {
setState(() {
txt = "please enter a valid qty and item";
});
}
}
void radiogroupeventhandler(value) {
setState(() {
radiogroup = value;
switch (radiogroup) {
case 0:
totalprice(_qty.text, 1200);
break;
case 1:
totalprice(_qty.text, 3200);
break;
case 2:
totalprice(_qty.text, 4200);
break;
case 3:
totalprice(_qty.text, 6200);
break;
}
});
print(radiogroup);
}
void radiogroupeventhandler2(value) {
setState(() {
_qty.text = value;
switch (radiogroup) {
case 0:
totalprice(_qty.text, 1200);
break;
case 1:
totalprice(_qty.text, 3200);
break;
case 2:
totalprice(_qty.text, 4200);
break;
case 3:
totalprice(_qty.text, 6200);
break;
}
});
print(radiogroup);
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title: new Center(child: new Text("Order page"))),
body: new Container(
padding: EdgeInsets.all(22.4),
alignment: Alignment.center,
child: new ListView(
children: <Widget>[
new Image.asset(
'img/user.jpg',
height: 100.0,
width: 100.0,
),
new Container(
padding: EdgeInsets.all(33.4),
child: new Column(
children: <Widget>[
new Text("please make your order !"),
new TextField(
controller: _qty,
textAlign: TextAlign.end,
textDirection: TextDirection.ltr,
keyboardType: TextInputType.number,
onChanged: radiogroupeventhandler2,
decoration: InputDecoration(
hintText: "please enter you identified quantity",
labelText: "QTY",
icon: new Icon(Icons.shopping_cart)),
),
new Padding(padding: EdgeInsets.all(22.0)),
new RadioListTile(
value: 0,
groupValue: radiogroup,
onChanged: radiogroupeventhandler,
title: new Text("pizza king"),
subtitle: new Text("pizza king fast food"),
),
new RadioListTile(
value: 1,
groupValue: radiogroup,
onChanged: radiogroupeventhandler,
title: new Text("Burger king"),
subtitle: new Text("Burger king fast food"),
),
new RadioListTile(
value: 2,
groupValue: radiogroup,
onChanged: radiogroupeventhandler,
title: new Text("MacDonalds"),
subtitle: new Text("MchDonals burger fast food"),
),
new RadioListTile(
value: 3,
groupValue: radiogroup,
onChanged: radiogroupeventhandler,
title: new Text("KFC"),
subtitle: new Text("KFC chicken fast food"),
),
new Text('$txt')
],
))
],
),
),
);
}
}```