Список трепетания - из пожарного хранилища - ошибка диапазона? - PullRequest
0 голосов
/ 29 октября 2018

Здесь я пытаюсь получить названия мест из пожарного магазина. Я сделал функцию getplaces, которая импортирует файлы из Firestone и помещает их в список. Для отображения мест на панели вкладок.

  • Проблема в том, что даже если я вызываю функцию в состоянии инициализации, она возвращает "временную шкалу, в которой находится список с местами" с ошибкой вне диапазона 0, даже если я печатаю временный список, он печатает места правильно.

    import 'package:flutter/material.dart';
    import 'package:firebase_auth/firebase_auth.dart';
    import 'package:cloud_firestore/cloud_firestore.dart';
    import 'dart:async';
    
    
    
    
     class HomePage extends StatefulWidget {
     // const HomePage({Key key}) : super(key: key);
    
      @override
      HomePageState createState() {
        return new HomePageState();
      }
    }
    
    class HomePageState extends State<HomePage> {
    List<String> temp=new List();
    List<String> temp1=['Nile University', 'Smart Village', 'Zewail'];
    @override
    void initState() {
        super.initState();
    
      getplaces(temp);
      }
    
    Future<List> getplaces(temp) async{
     QuerySnapshot place= await  Firestore.instance.collection('places').getDocuments();
      place.documents.forEach((DocumentSnapshot doc){
        temp.add(
          doc.data['name']
        );
                 print(doc.data['name']);
    
      });
       print(temp);
      return temp;
      }
    
    
    
      @override
      Widget build(BuildContext context) {
       return  DefaultTabController(
          length: 20,
          child: Scaffold(
          appBar: AppBar(
             title: Text("Home Page"),
             bottom:  TabBar( isScrollable: true,
                  tabs: new List.generate(temp.length, (index) {
                         return new Tab(child: Text(temp[index].toString().toUpperCase()));
                  }),),),
    
      body: !temp.isNotEmpty?
             Center(child: CircularProgressIndicator()):
    
             TabBarView(
              children: <Widget>[
                Text(temp[0].toString()),
                Icon(Icons.directions_transit),
                Icon(Icons.directions_bike),
              ],
            ))); 
      }}
    
    
    
    
                          //String f=snapshot.data.documents[index]["Place"].toString();
    
    
    
    
                                   // print( Firestore.instance.collection("Places").document(f).collection("order 1").document('order 1').snapshots().toString());
    
    
    
    
    
    
            //    return TabBar(
          //      isScrollable:true,
          //    tabs: ListView.builder(
          //     itemCount: snapshot.data.documents.length,
          //     itemBuilder: (context,int index)=>
          //      Tab(text: snapshot.data.documents[index]["Place"].toString().toUpperCase())
          // )) ;     
    //           return ListView.builder(
    //           itemCount: snapshot.data.documents.length,
    //           itemBuilder: (context,int index)=>
    //           FlatButton(
    
    
    //             child: Row(
    //               children: <Widget>[
    
    
    //                Flexible(child: Text(snapshot.data.collections[index].toString())),
    
    
    //               ],
    //             ),
    //             onPressed:null,
    
    // padding: EdgeInsets.fromLTRB(25.0, 10.0, 25.0, 10.0),
    //           shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0)),
    //           ),
    //         );
    
    
     // String s=snapshot.data.documents[0]["Place"].toString();
            // print("place is $s"
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...