Не удается прокрутить содержимое списка - PullRequest
0 голосов
/ 07 апреля 2020

Итак, у меня есть данные, хранящиеся в коллекции, которую я получаю из магазина. Я пытаюсь отобразить имена документов в контейнере (контейнер для изображения). Я могу получить данные и отобразить их. Проблема в том, что я не могу правильно прокрутить. Если я коснусь изображения и попробую прокрутить, это работает. Но если я попытаюсь коснуться списка и попытаться прокрутить, я не смогу.

Код:

class _DescriptionPageState extends State<DescriptionPage> {
  Image img;
  Future<QuerySnapshot> snap;

  void initState(){
    super.initState();
    img = Image.asset("Assets/Images/bnha.jpg");
    snap = getSnap();
  }

  Future<QuerySnapshot> getSnap() async {
    return Firestore.instance.collection('BNHA').getDocuments();
  }

  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    precacheImage(img.image, context);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: SingleChildScrollView(
          child: Column(
      children: <Widget>[
          Container(
            constraints: BoxConstraints.expand(height: 250),
            alignment: Alignment.topLeft,
            padding: const EdgeInsets.only(left: 10, top: 20),
            decoration: BoxDecoration(
                image: DecorationImage(
                    image: AssetImage('Assets/Images/bnha.jpg'),
                    fit: BoxFit.cover)),
            child: GestureDetector(
                child: Icon(
                  Icons.arrow_back,
                  color: Colors.white,
                  size: 26,
                ),
                onTap: () => Navigator.of(context).pop()),
          ),
          FutureBuilder(
              future: snap,
              builder:
                  (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
                switch (snapshot.connectionState) {
                  case ConnectionState.none:
                  case ConnectionState.waiting:
                    return Center(
                      child: CircularProgressIndicator(),
                    );
                    break;
                  default:
                    return ListView.builder(
                      scrollDirection: Axis.vertical,
                        shrinkWrap: true,
                        itemCount: snapshot.data.documents.length,
                        itemBuilder: (BuildContext context, int index) {
                          return ListTile(
                            title:
                                Text(snapshot.data.documents[index].documentID),
                          );
                        });
                    break;
                }
              })
      ],
    ),
        ));
  }
}

Как это исправить?

1 Ответ

1 голос
/ 07 апреля 2020

попробуйте установить primary: false, на вашем ListView.builder

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