【问题标题】:Flutter: List.generate isn't being populatedFlutter:List.generate 未被填充
【发布时间】:2023-02-05 20:50:27
【问题描述】:

第一次使用 flutter:我试图用 StatelessWidget 填充此列,但是当我运行该应用程序时,列表完全空白,即使列表长度正确地显示了我要显示的项目数量的空间。当我调试应用程序时没有错误,所以我无法理解我提交的是一个完全空白的小部件,还是我没有以正确的方式插入到列表中。 我想要实现的是显示一个占位符卡:单击后它应该遵循路线并链接到另一个页面。

这是我的小部件:

import 'package:progetto_esame_febbraio/utils/config.dart';
import 'package:flutter/material.dart';

class DoctorCard extends StatelessWidget {
  const DoctorCard({Key? key, required this.route}) : super(key: key);

  final String route;

  @override
  Widget build(BuildContext context) {
  Config().init(context);
  return Container(
    padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 100),
    height: 150,
    child: GestureDetector(
      child: Card(
        elevation: 5,
        color: Colors.black,
        child: Row(
            children: [
              SizedBox(
                width: Config.widthSize * 0.33,
                child: Image.asset(
                  'assets/facebook.png',
                  fit: BoxFit.fill,
                ),
              ),
           Flexible(
            child: Padding(
              padding:
              const EdgeInsets.symmetric(horizontal: 10, vertical: 20),
               child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    const Text(
                      'Dr Richart',
                      style: TextStyle(
                      fontSize: 18,
                      fontWeight: FontWeight.bold,
                      ),
                      ),
                    const Text(
                      'Dental',
                      style: TextStyle(
                      fontSize: 18,
                      fontWeight: FontWeight.normal,
                      ),
                      ),
                    const Spacer(),
                        Row(
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: const <Widget>[
                          Icon(
                          Icons.star_border,
                          color: Colors.yellow,
                          size: 16,),
                          Spacer(
                          flex: 1,
                          ),
                          Text('4.5'),
                          Spacer(
                          flex: 1,
                          ),
                          Text('Reviews'),
                          Spacer(
                          flex: 1,
                          ),
                          Text('(20)'),
                          Spacer(
                          flex: 7,
                          ),
                        ],
                      ),
                    ],
                  ),
                ),
              ),
            ],
          ),
        ),
          onTap: () {
          Navigator.of(context).pushNamed(route);
        }, // rinvia al dettaglio dottore
      ),
    );
  }
}

这是我的主页:


class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Padding(
        padding: const EdgeInsets.symmetric(
          horizontal: 15,
          vertical: 15,
        ),
        child: SafeArea(
          child: SingleChildScrollView(
            child: Column(
              children: List.generate(5, (index) {
                return const DoctorCard(
                  route: 'doc_details',
                );
              }),
            ),
          ),
        ),
      ),
    );
  }
}

【问题讨论】:

    标签: android flutter dart


    【解决方案1】:

    你有太多的填充。

     return Container(
          padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 10),//here it was 100
          height: 150,
          child: GestureDetector(
    

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 2013-09-04
      • 2021-05-06
      • 2016-07-11
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多