Как использовать панель вкладок и панель вкладок с потоками - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь добавить панель вкладок и вид панели вкладок. однако значения вкладок и представления панели вкладок следует прослушивать из потока, Во-первых, у этого есть некоторые проблемы: я не знаю, как определить длину контроллера панели вкладок по умолчанию при изменении длины потока. Кроме того, я попытался использовать тривиальные значки в панели вкладок (вместо потока, который я хочу слушать), чтобы узнать, сработает ли он или нет. Я пытался сделать это так:

class HomePage extends StatelessWidget {

  final FirebaseUser user;


  HomePage({this.user});

  @override
  Widget build(BuildContext context) {
    return new DefaultTabController(
      length: 20, `//I wrote 20 to only run `the code however, it should be the length of the stream but i don't know how to get it???
      child: Scaffold(
      appBar: AppBar(
        title: Text("Home Page"),
      ),
  body:Column(
  children:<Widget>[ StreamBuilder<QuerySnapshot>(
    stream: Firestore.instance.collection("places").snapshots(),
    builder: (BuildContext context,AsyncSnapshot<QuerySnapshot> snapshot){


      if (!snapshot.hasData){
        return Center(child: CircularProgressIndicator());
      }
      else{
        return Column(
           children:<Widget>
         [
           TabBar( isScrollable: true,
              tabs: new List.generate(snapshot.data.documents.length, (index) {
                    return new Tab(child: Text(snapshot.data.documents[index]['name'].toString().toUpperCase()));

                      //String f=snapshot.data.documents[index]["Place"].toString();




                               // print( Firestore.instance.collection("Places").document(f).collection("order 1").document('order 1').snapshots().toString());

                            }       
          ) 
          ),

          TabBarView(
          children: <Widget>[
            Icon(Icons.directions_car),
            Icon(Icons.directions_transit),
            Icon(Icons.directions_bike),
          ],
        )
        ],
        );}


    })
  ]) 
  )
     ); }
    }

Панель вкладок работает. Однако значки (которые находятся на панели вкладок, не отображаются при переходе между вкладками). Любая помощь? Заранее спасибо.

...