flutter/기타

RenderBox was not laid out: RenderRepaintBoundary 에러

coens 2022. 5. 19. 10:35

======== Exception caught by rendering library =====================================================
The following assertion was thrown during performLayout():
RenderBox was not laid out: RenderPointerListener#3eb68 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1982 pos 12: 'hasSize'

 

대략 이런 에러가 날때가 있다. Listview를 colunm이나 row안에 넣을 때 생기는 듯. 생각해보면 그럴 수도 있겠다 싶네.

expaned 위젯에 넣든지 sizedbox안에 넣고 높이를 정해주자.

 

body: Column(
  children: [
    ListView.builder(
        itemCount: 5,
        itemBuilder: (context, index) {
          return Text(index.toString());
        }),
  ],
),

이렇게 하면 안됨 ㅠ


body: Column(
  children: [
    Expanded(
      child: ListView.builder(
          itemCount: 5,
          itemBuilder: (context, index) {
            return Text(index.toString());
          }),
    ),
  ],
),

expanded로 감싸보자.