2

i'm using getX for state management, so i have 2 page, first page is listView for show post, and second page is for create new post, after create new post will back to first page, however after making a new post an error always appears

ScrollController attached to multiple scroll views. 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 109 pos 12: '_positions.length == 1'

GetBuilder<HomeController>(
            init: controller,
            builder: (value) => Obx(
              () => value.postList.length == 0
                  ? CircularLoadingWidget(
                      height: 300,
                      onCompleteText: Strings.joinNeighborhood.tr,
                    )
                  : ListView.builder(
                      controller: controller.scrollController,
                      shrinkWrap: true,
                      itemCount: value.postList.length + 1,
                      itemBuilder: (context, index) {
                        if (index == 0) {
                          return BlogPostNewWidget(
                            type: "timeline",
                            userId: Get.find<AuthService>().currentUser.value.id,
                            communityId: null,
                          );
                        } else if (index == value.postList.length) {
                          return Center(
                            child: SizedBox(
                              height: 15,
                              width: 15,
                              child: CircularLoadingWidget2(height: 2),
                            ).marginSymmetric(vertical: 5.0),
                          );
                        } else {
                          return BlogPostItemWidget(
                            post: controller.postList
                                .elementAt(index - 1),
                          );
                        }
                      },
                    ),
            ),
          ),

this is my controller

Future getMorePostList({String blogSlug}) async {
    scrollController.addListener(() async {
      if (scrollController.position.maxScrollExtent ==
          scrollController.position.pixels) {
        skipCount.value++;
        var response = await _cmsKitRepository.getPostListWithDetail(blogSlug,
            skipCount: skipCount.value);
        blogPostPublicDtoList.addAll(response.items);
        if (response.items.length == 0) {
          _lastPage.value = true;
        }
      }
    });
  }

sorry for my english..

adian
  • 128
  • 1
  • 14

0 Answers0