StatefulWidget Page recreate when keyboard is open. You should move your variable isUpdate inside your State, remember the widget is inmutable.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | class UpdateProfileState extends State<UpdateProfile> { bool isUpdate = false; @override Widget build(BuildContext context) { // TODO: implement build return Scaffold( appBar: AppBar( title: Text("Update"), elevation: 2.0), body: Container( width: double.infinity, height: double.infinity, color: Colors.red, margin: const EdgeInsets.all(10.0), child: Row( children: <Widget>[ isUpdate ? new Flexible(child: new TextField()) : Text("Text Widget"), GestureDetector( child: IconTheme( data: IconThemeData(color: Color(0xFFffffff)), child: Icon(Icons.edit)), onTap: () { setState(() { isUpdate = !isUpdate; }); }, ) ], ), ), ); } } |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.