【问题标题】:Flutter - how to make nested list views?Flutter - 如何制作嵌套列表视图?
【发布时间】:2019-05-24 11:03:28
【问题描述】:

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

我该怎么做?我只想要其中一个单选磁贴的嵌套列表视图,而不是所有单选磁贴。

我尝试将两个 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);
                }
              );
            },
          ),
        ),

      ],
    );

【问题讨论】:

  • 欢迎来到 Stack Overflow!请避免使用第三方服务来显示图像。如果您需要添加图像,请在编辑时单击图像按钮,或复制图像并单击 CTRL+V,或以任何其他方式将其粘贴到帖子中,将它们添加到帖子中。第三方图片服务can break at any time,要么留下死链接,要么网址可用于恶意目的。

标签: dart flutter


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您不能在ListView 内构建ListView,因为您会混淆滚动行为。您应该使用不滚动的 List 小部件,例如 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,
            ],
          );
        }
      },
    ),
    

    【讨论】:

      猜你喜欢
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      相关资源
      最近更新 更多