firestore- flutter / Я хочу построить List <String>по документу firestore, но он не работает - PullRequest
0 голосов
/ 06 декабря 2018

Я занимаюсь практикой пожарных и трепетания.

Я хочу заменить это _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();
  },
);
}

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...