Я получаю эту ошибку при запуске приложения. Я следовал учебному пособию по YouTube, но в моем случае всегда появляется ошибка. Необязательная строка должна быть предоставлена виджету Текст. Я уже пробовал несколько вещей, но ничего не произошло. Я не знаю, что еще я могу написать ... но я не могу опубликовать вопрос без предоставления более подробной информации. Как я могу решить эту проблему?
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
void main() => runApp(MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
brightness: Brightness.light,
primaryColor: Colors.blue,
accentColor: Colors.orange
),
home: MyApp(),
));
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List todos = List();
String input = "";
createTodos() {
DocumentReference documentReference =
Firestore.instance.collection("MyTodos").document(input);
//Map
Map<String, String> todos = {"todoTitle": input};
documentReference.setData(todos).whenComplete(() {
print("$input created");
});
}
deleteTodos() {
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('My ToDos'),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Add ToDo', style: TextStyle(fontWeight: FontWeight.bold),),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15)
),
content: TextField(
onChanged: (String value) {
input = value;
},
),
actions: <Widget>[
FlatButton(
onPressed: () {
createTodos();
Navigator.of(context).pop();
},
child: Text('Add'))
],
);
});
},
child: Icon(
Icons.add,
color: Colors.white,
),
),
body: StreamBuilder(
stream: Firestore.instance.collection("MyTodos").snapshots(),
builder: (context, snapshots){
if(snapshots.data == null) return CircularProgressIndicator();
return ListView.builder(
shrinkWrap: true,
itemCount: snapshots.data.documents.length,
itemBuilder: (context, index) {
DocumentSnapshot documentSnapshot = snapshots.data.documents[index];
return Dismissible(
key: Key(index.toString()),
child: Card(
elevation: 4,
margin: EdgeInsets.all(8),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10)
),
child: ListTile(
title: Text(documentSnapshot["todoTitle"]),
trailing: IconButton(
icon: Icon(
Icons.delete),
color: Colors.red,
onPressed: (){
setState(() {
todos.removeAt(index);
});
} ),
),
));
});
}),
);
}
}