在Flutter中(Android )
我在flutter应用中有两个TextFormField。当我按下后退按钮时。这些文本字段将变为空白。
class FirstScreen extends StatelessWidget {
TextEditingController charectorsController = new TextEditingController();
TextEditingController lengthCntroller = new TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Screen'),
),
body: Center(
child: Container(
margin: EdgeInsets.all(8),
child: SingleChildScrollView(
child: Column(
children: [
myEditText(charectorsController, "Enter charectors Word"),
myEditText(lengthCntroller, "Word length"),
RaisedButton(
child: Text('Launch screen'),
onPressed: () {
// Navigate to the second screen using a named route
// Navigator.pushNamed(context, '/second');
print("Rahul");
readFile();
},
)
],
),
)),
),
);
}
}
和
myEditText(TextEditingController myController, String s) {
return new Container(
margin: EdgeInsets.all(8),
child: new TextFormField(
controller: myController,
decoration: new InputDecoration(
labelText: s,
fillColor: Colors.white,
border: new OutlineInputBorder(
borderRadius: new BorderRadius.circular(25.0),
borderSide: new BorderSide(),
),
//fillColor: Colors.green
),
validator: (val) {
if (val.length == 0) {
return "Cannot be empty";
} else {
return null;
}
},
keyboardType: TextInputType.emailAddress,
style: new TextStyle(
fontFamily: "Poppins",
),
),
);
}
路由
void main() => runApp(MaterialApp(
title: 'Named Routes Demo',
// Start the app with the "/" named route. In our case, the app will start
// on the FirstScreen Widget
initialRoute: '/',
routes: {
// When we navigate to the "/" route, build the FirstScreen Widget
'/': (context) => FirstScreen(),
// When we navigate to the "/second" route, build the SecondScreen Widget
'/second': (context) => SecondScreen(),
},
));
https://stackoverflow.com/questions/55279846
复制相似问题