首页 > 解决方案 > Dart/Flutter 中的编码需要我的第一个 Tile 只出现一次

问题描述

我正在构建一个显示当地天气预报的应用程序。我正在尝试使我的第一个具有最近天气的图块脱颖而出并且更大并且只出现一次。目前该瓷砖正在重复,请帮助。Sized Box 是重复的代码,我只希望它发生一次。

                 : Expanded(
                    child: ListView.separated(
                      // shrinkWrap: true,
                      padding: EdgeInsets.all(5),
                      itemCount: model.dailyForecast.length,
                      itemBuilder: (BuildContext context, int index) {

                        return Container(
                          child: Column(
                          children:<Widget>[
                            SizedBox(
                               child: Text(
                                  "${model.dailyForecast[0].dayAndHour} " +
                                      "${model.dailyForecast[0].description}" + "loaded"),
                            ),
                            const Divider(),
                            ListTile(
                                  leading: Image.network(
                              model.dailyForecast[index + 1].iconURL),
                          title: Text(
                              "${model.dailyForecast[index + 1].dayAndHour} " +
                                  "${model.dailyForecast[index + 1].description}"),
                          subtitle: Text(
                            "Low: " +
                                "${model.dailyForecast[index + 1].minTemp} " +
                                "High: " +
                                "${model.dailyForecast[index + 1].maxTemp} " +
                                "Humidity: " +
                                "${model.dailyForecast[index + 1].humidity}",
                            style: TextStyle(
                                fontSize: 16, color: Colors.blue),
                          ),
                          ),
                          ],
                          ),
                        );
                      },
                      separatorBuilder: (BuildContext context, int index) =>
                          const Divider(),

标签: flutterdart

解决方案


您应该检查该index值。

if (index == 0) // <-- Add this condition so it appears only once.
SizedBox(
      child: Text(
      "${model.dailyForecast[0].dayAndHour} " +
      "${model.dailyForecast[0].description}" + "loaded"),
)

推荐阅读