Я пытаюсь изменить значение текста с помощью кнопки, но у меня есть 2 проблемы: 1- setState сбрасывает дату 2- Текст не изменяется
Отредактировано Здесь Я отправляю код:
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
TextEditingController dateCtl = TextEditingController();
String operad = "Operador";
DateTime date;
var formatter = new DateFormat('dd-MM-yyyy');
return Scaffold(appBar: AppBar(title: Text(widget.title),),
body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
SizedBox(height: 35,width: 100,
child:Text('Fecha:',style: TextStyle(fontSize: 18.0),textAlign: TextAlign.end,)),
SizedBox(height: 35,width: 250,
child:
TextFormField(
readOnly: true,
textAlign: TextAlign.center,
controller: dateCtl,
onTap: () async{date = await showDatePicker(
context: context,
initialDate: DateTime.now(),
firstDate: DateTime.now().subtract(Duration(days: 2)),
lastDate: DateTime.now().add(Duration(days: 2)));
if (date == null) {
date = DateTime.now();
} else {
dateCtl.text = formatter.format(date);}}))]),
Row(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(width: 95, height: 40,
child: RaisedButton(
child: Text("A. Pacho",style: TextStyle(color:Color.fromRGBO(255, 255, 255, 5),fontSize: 16, fontStyle: FontStyle.italic),textAlign: TextAlign.center),
color: Color.fromRGBO(16, 172, 40,80),
padding: EdgeInsets.only(left:2, right:1.5),
highlightColor: Color.fromRGBO(230, 17, 17, 10),
elevation: 5.0,
shape: RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(15.0)),
onPressed: () {
setState(() {
operad = "Adolfo Pacho";
});},)),]),
Row(mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(width: 160, height: 30,child:Text('$operad')),
SizedBox(width: 15,),
],),
Что мне нужно сделать, это: Когда я нажал кнопку RaisedButton, текст внутри Sizedbox должен измениться.
Что это делает: Когда я нажал кнопку RaisedButton текст внутри поля размера не изменяется, а средство выбора даты сбрасывается.
: (