I want to create an app which has a TabBarView with two tabs. On the first Tab there is a Textfield and on the other tab there is a text widget which should display the text which you entered into Textfield but I always get an error because text is null.( I'm new in programming with flutter)
I tried to initialize the variable in TextOutput class but it didn't work because the variable is final.
TabBarView(
children: <Widget>[
TextCreatePage(), TextOutput()
],
class TextCreatePageState extends State<TextCreatePage> {
String textvalue;
@override
Widget build(BuildContext context) {
return Center(child: TextField(
onChanged: (String value) {
setState(() {
textvalue = value;
TextOutput(textvalue: textvalue,);
});
class TextOutput extends StatelessWidget {
final String textvalue;
TextOutput({this.textvalue});
@override
Widget build(BuildContext context) {
return Text(textvalue);
}
}
So, for anyone that search this and got here, I'm using this to manage null String variables.
1. Show Empty Text
String nullText; //for null-safety change to: String? nullText;
//now, inside of your widget build
Text(nullText ?? '');
2. Not show Text Widget
String nullText;
//now, inside of your widget build
if(nullText != null)
Text(nullText);
with null-safety
String? nullText;
//now, inside of your widget build
if(nullText != null)
Text(nullText!);
Also you can show like this, but this show the null word
String nullText; //for null-safety change to String? nullText;
//now, inside of your widget build
Text('$nullText');
Live Example https://dartpad.dev/faab5bc3c2df9573c0a75a5ce3d4b4b9
It's not clear from the information your provided in your question what code causes the error, but I guess it is this line:
return Text(textvalue);
If you change it to
return textvalue != null ? Text(textvalue) : Container();
your error should go away.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With