Flutter-如何制作嵌套列表视图?

时间:2019-05-24 11:03:29

标签: dart flutter

我想以以下方式制作嵌套列表视图

enter image description here

我该怎么做?我只希望其中一个无线电图块的嵌套列表视图不是全部。

我尝试将两个ListView构建器都包含在另一个List中,但是存在渲染问题。

我的代码:

Column(

      children: <Widget>[
        .....

        Expanded(
          child:

          ListView.builder(
            padding: EdgeInsets.all(0.0),
            itemCount: tasks.length,
            itemBuilder: (context, index) {

              return RadioListTile<String>(

               //contentPadding: EdgeInsets.symmetric(horizontal: 16.0),
                title:  Text(tasks[index], style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w400)),
                value: tasks[index],
                groupValue: selectedRadio,
                onChanged: (val){
                    setSelectedRadio(val);
                }
              );
            },
          ),
        ),

      ],
    );

2 个答案:

答案 0 :(得分:1)

您无法在ListView内构建ListView,因为这会混淆滚动行为。您应该使用不会滚动的“列表”窗口小部件,例如Column

ListView.builder(
  padding: EdgeInsets.all(0.0),
  itemCount: tasks.length,
  itemBuilder: (context, index) {
    if (// single RadioListTile) {
      return RadioListTile<String>(
        title:  Text(tasks[index], style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w400)),
        value: tasks[index],
        groupValue: selectedRadio,
        onChanged: (val) => setSelectedRadio(val),
      );
    }
    else if (// nested RadioListTile) {
      return Column(
        children: <Widget>[
          // RadioListTile1,
          // RadioListTile2,
          // RadioListTile3,
        ],
      );
    }
  },
),

答案 1 :(得分:-1)

您可以在另一个列表视图中完全包含一个列表视图。但是内部列表视图必须将shrinkWrap 设置为true