해결된 질문
작성
·
652
0
안녕하세요
현재 스케쥴캘린더 스트림 빌터와 리스트세퍼레이트를 통해
데이터를 화면에 출력하는 부분까지 수강했습니다.
이 부분까지 수강하고 게시판을 만들어 봤는데요
데이터 테이블은 제목과 내용,ID로 구성 되어있고
----contents_screen.dart----
글 목록에 있는 제목을 누르면 해당 id값을 where로 조회해서 글 내용을 보여주는 부분을 만들엇는데
----content_view_screen.dart----
StreamBuilder<List<Content>>(
stream: GetIt.I<LocalDatabase>().watchContents(),
builder: (context, snapshot) {
List contents = [];
if (snapshot.hasData) {
contents = snapshot.data!
.where((element) => element.id == pushId)
.toList();
}
final String title = contents[0].title;
final String innercontent = contents[0].innercontent;
스트림 빌더를 사용하여 출력이 되긴 합니다만 오류가 나옵니다.
The following RangeError was thrown building StreamBuilder<List<Content>>(dirty, state: _StreamBuilderBaseState<List<Content>, AsyncSnapshot<List<Content>>>#e5310):
RangeError (index): Invalid value: Valid value range is empty: 0
이것을 없애려면 어떤 방법을 써야하나요.
비동기 처리가 필요한듯 한데 맞나요?
아직 내공이 부족해서 전부 수강하고 다시 만들어봐야겠어요. 아마 화면이 바뀌면서 map을 다시 읽기 전에 출력하라고해서 오류가 난것 같습니다. 원인은 알겠는데 고치진 못하겟네요 ㅋㅋ