RenderBox tidak ditata: RenderRepaintBoundary

Oct 07 2020

Saya mendapatkan kesalahan dengan pembuat listview dan tidak yakin bagaimana mengatasinya. Jika saya menghapus kode pembangun Listview maka itu tidak memberikan kesalahan.

Ini kodenya.

  Widget build(BuildContext context) {
   
    return Theme(
      isMaterialAppTheme: true,
      data: ThemeData(
      ),

     child:Scaffold(
      backgroundColor: _dark ? null : Colors.grey.shade200,
      key: _scaffoldKey,
      appBar: myAppBar(),
      endDrawer: myDrawer(),

      body: Stack(
        children: <Widget>[
      
      SingleChildScrollView(
        child: Stack(
          children: <Widget>[
            
            Container(
              margin: EdgeInsets.fromLTRB(16.0, 10.0, 16.0, 16.0),
              child: Column(
                children: <Widget>[
                  Stack(
                    children: <Widget>[
                      Container(
                            decoration: BoxDecoration(
                            color:Colors.grey,
                          //  color: Colors.orange,
                                    borderRadius: BorderRadius.only(
                                        bottomLeft: Radius.circular(4.0),
                                        bottomRight: Radius.circular(4.0))),
                            padding: EdgeInsets.symmetric(horizontal:16.0, vertical: 15.0),
                            width: double.infinity,
                            child: Text("Booking Details",
                              textAlign: TextAlign.center,
                              style: TextStyle(
                              fontSize: 18.0,
              //                fontWeight: FontWeight.bold,
                              color: Colors.white,
                              letterSpacing: 3,
                              wordSpacing: 3
                       ),),
                            ),
              
                     ],
                  ),
                  SizedBox(height: 20.0),
                    Container(
      child: new ListView.builder(
          itemCount:  lists.length,
          itemBuilder: (BuildContext context, int i) {
            return Card(
              margin:
              const EdgeInsets.fromLTRB(10.0, 15.0, 10.0, 0.0),
              child: new ExpansionPanelList(
                expansionCallback: (int index, bool status) {
                  setState(() {
                    _selectedIndex= index;
                    _selectedIndex = _selectedIndex == i ? null : i;
                  });
                },
                children: [
                  new ExpansionPanel(
                      isExpanded: _selectedIndex == i,
                      headerBuilder: (BuildContext context,
                          bool isExpanded) =>
                      new Container(
                          padding:
                          const EdgeInsets.only(left: 15.0),
                          alignment: Alignment.centerLeft,
                          child: new Text(
                            'list-$i', )), body: new Container(child: new Text('content-$i'),),),
                ],
              ),
            );
          }),
    ),    

Bagaimana cara memperbaiki masalah tersebut?

Jawaban

Kennedypz Oct 07 2020 at 17:59

Anda dapat mencoba menyetel ketinggian untuk penampung yang menahan listview Anda

 Container(
    height: 200.0, //for example
    child: ListView.builder(
      //your code
    )
 )