1

カードウィジェット内にリストビューがあるフラッターの問題に直面しています。SQLite データベースからデータを読み取ってリストビューに入力しています。リストビューの長さはわかりません。私の問題は、現在、カードビューに固定の高さを設定していて、リストビューが長くても短くてもオーバーフロー ピクセル エラーが発生することです。

これが私のコードです:

import 'package:flutter/material.dart';
import 'package:finsec/widget/single_line_list_view.dart';
import 'package:finsec/widget/header.dart';

import 'package:finsec/data/cardview_list_item.dart';

class cardView extends StatelessWidget {
  cardView({
    this.header,
    this.elevation,
    this.padding,
    this.query,
    this.iconColor
  });

  String header, query;
  double elevation, padding;
  Color iconColor;

  final shape = const RoundedRectangleBorder(
      borderRadius: BorderRadius.only(
        topLeft: Radius.circular(8.0),
        topRight: Radius.circular(8.0),
        bottomLeft: Radius.circular(8.0),
        bottomRight: Radius.circular(8.0),
      )
  );

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.fromLTRB(0.0, padding, 0.0, 0.0),  //vertical padding between cardivew and $s0.00
      child: new Card(
        elevation: elevation,
        shape: shape,
        child: new Container(
          width: MediaQuery
              .of(context)
              .size
              .width,
          height: 165.00,
          child: new Column(
            children:[
              Header(text: header,
                textSize: 24.0,
                backgroundColor: Color(0xffC4C4C4),
                textColor: Colors.black,
                height: 50,
                padding: 20.0,
                headerRadius: 8.0
              ),
            CardviewListItemData(query)  //listview goes here

            ],
          ),
        ),
      ),
    );
  }
}

リストビューが 2 つのアイテムを返す場合、cardview は問題ないように見えますが、3 つ以上のアイテムを返すとオーバーフロー ピクセル エラーが発生します。その理由は、コンテナーの高さを手動で 165.00 に設定しているためです。
下の写真を参照してください

ここに画像の説明を入力

リストビューのアイテム数に基づいてカードビューのサイズが自動的に変更されるようにコードを修正するにはどうすればよいですか? たとえば、listview が 5 つのアイテムを返す場合、cardview は 5 つのアイテムすべてを表示する必要があります。リストの項目数がわからないため、高さを手動で設定できません。リストビューによって返される任意の数のアイテムを表示するために、カードビューのサイズを動的に変更する方法はありますか?

4

2 に答える 2