Я занимаюсь практикой пожарных и трепетания.
Я хочу заменить это _list
на мой код, чтобы получить строку поля заголовка всего документа, но она не работает.
оба являются List, но почему он не работает?
I / flutter (30337): метод 'map' был вызван для null.
I / flutter (30337):Получатель: null
I / flutter (30337): пробный вызов: map (Закрытие: (String) => ChildItem)
void init() {
_list = List();
_list.add("Google");
_list.add("IOS");
_list.add("Andorid");
_list.add("Dart");
_list.add("Flutter");
_list.add("Python");
_list.add("React");
_list.add("Xamarin");
_list.add("Kotlin");
_list.add("Java");
_list.add("RxAndroid");
}
class ChildItem extends StatelessWidget {
final String name;
ChildItem(this.name);
@override
Widget build(BuildContext context) {
return new ListTile(title: new Text(this.name));
}
List<ChildItem> _buildSearchList() {
if (_searchText.isEmpty) {
return _list.map((contact) => new ChildItem(contact))
.toList();
}
else {
List<String> _searchList = List();
for (int i = 0; i < _list.length; i++) {
String name = _list.elementAt(i);
if (name.toLowerCase().contains(_searchText.toLowerCase())) {
_searchList.add(name);
}
}
return _searchList.map((contact) => new ChildItem(contact))
.toList();
}
} это мой код
void init() {
_list = listBuild();
}
List<String> listBuild(){
StreamBuilder(
stream: Firestore.instance.collection('Post').snapshots(),
builder: (context, snapshot){
if (!snapshot.hasData) return LinearProgressIndicator();
return snapshot.data.documents.map((data) {
return Post.fromSnapshot(data).title;
}).toList();
},
);
}
Спасибо за помощь