Ошибка UnimplementedError в FutureBuilder при отображении вставленных данных из базы данных - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь создать функцию Futurebuilder для вызова и отображения всех данных, которые вставлены в базу данных, к сожалению, я получил эту ошибку «UnimplementedError», и у меня довольно много возможностей для этого, любое предложение будет оценено.

Здесь, в мой полный код для реализации для отображения данных пытался исправить мою ошибку UnimplementedError, в которой я пытаюсь сделать, чтобы отобразить вставленный в представление списка, а не в веб-представлении, любое предложение будет оценено.

body: Center(
  child: Expanded(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          FutureBuilder<ContactsDao>(
              future: _calltheStream(),
              builder: (BuildContext context,
                  AsyncSnapshot<ContactsDao> snapshot) {
                if (!snapshot.hasData ||
                    snapshot.connectionState == ConnectionState.none) {
                  return Container(
                    child: CircularProgressIndicator(),
                  );
                } else {
                  return StreamBuilder<List<ContactObject>>(
                      stream: snapshot.data.findallContactsById(),
                      builder: (context, snapshot) {
                        if (!snapshot.hasData ||
                            snapshot.connectionState ==
                                ConnectionState.none) {
                          return Container(
                            child: CircularProgressIndicator(),
                          );
                        } else {
                          if(widget.Contactlist.length != snapshot.data.length){
                            widget.Contactlist = snapshot.data;
                          }

                          if(snapshot.data.length == 0){
                            return Center(
                              child: Text('No Data Found'),
                            );
                          }
                          return Expanded(
                            child: ListView.builder(
                                scrollDirection: Axis.vertical,
                                itemCount: snapshot.data.length,
                                itemBuilder:
                                    (BuildContext context, int index) {
                                  return Card(
                                      child: ListTile(
                                        leading: Checkbox(
                                          value: widget.Contactlist[index].isSelect,
                                          onChanged: (bool value) {
                                            setState(() {
                                              widget.Contactlist[index].isSelect = value;
                                            });
                                          },
                                        ),
                                        trailing: GestureDetector(
                                          onTap: () {
                                            _selectedDetele(snapshot.data[index].id);
                                          },
                                          child: Icon(Icons.delete),
                                        ),
                                         title: Text('${snapshot.data[index].task}',maxLines: 1,),
                                         subtitle: Text('${snapshot.data[index].time}',style: TextStyle(fontSize: 10),),
                                      ));
                                }),
                          );
                        }
                      }); //DATA
                } //DATA
              }), // DATA
        ], // DATA
      ), // DATA
  ),//DATA
),

Future<ContactsDao> _calltheStream() async { //GET ALL DATA HERE
  ContactDatabase contactDatabase =  await widget.database;
  widget._contactsdao = contactDatabase.contactsDao;
  return contactDatabase.contactsDao;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...