How to fix 'Text is null' in flutter
Solution 1
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
Solution 2
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.
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Admin
Updated on June 08, 2022Comments
-
Admin about 2 years
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); } }
-
Admin over 5 yearsI think it is a problem with the textvalue variable in Textoutput and the constructor because textvalue always is null.
-
Günter Zöchbauer over 5 yearsDorsn't look this way.
-
Günter Zöchbauer over 5 yearsHard to tell from here.
-
Admin over 5 yearsOk, i tested some things and now I know where the error is but I don't know how to fix it. The error is probably at the constructor in the TextCreatePageState class.
-
Günter Zöchbauer over 5 yearsThe code in your question doesn't contain such a constructor.
-
Admin over 5 yearsI meant the TextOutput(textvalue: textvalue);
-
Günter Zöchbauer over 5 yearsI don't see anything wrong with it. Should be easy to debug though.
-
Admin over 5 yearsWhen I use Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) => TextOutput(textvalue: textvalue2,))); everything works ?