我创建了一个类,存储名为CardWidget与参数的小部件。我将其存储在不同的文件中多次使用它。CardWidget是一个包含标题,描述,日期和帐户等文本数据的小部件。我需要它来创建像它曾经在不同的论坛主页特殊板。
.Widget文件
import 'package:flutter/material.dart';
class CardWidget extends StatelessWidget {
const CardWidget({Key? key, pcolor, ptext, paccount, pdate, peoplein}) : super(key: key);
Widget CardWid({pcolor, ptext, paccount, pdate, peoplein}) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: 15, vertical: 5),
// data was erased for economy
child: Container());
}
@override
Widget build(BuildContext context) {
return CardWid();
}
}
当我从另一个flutter类调用它时,它返回一个issue。
类型“Null”不是类型“String”的子类型
.main文件,在这里我调用小部件并给予参数
class HomePageState extends State<HomePage> {
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
children: [
CardWidget(
pcolor: Colors.orangeAccent,
ptext: 'I need team for First Person Shooter',
paccount: 'gamedev21',
pdate: 'February 12, 2023, 21:00',
peoplein: 2),
CardWidget(
pcolor: Colors.green[700],
ptext: 'text',
paccount: 'text',
pdate: 'February 12, 2023, 18:00',
peoplein: 4),
],
),
);
}
2条答案
按热度按时间klsxnrf11#
您应该在构造函数中输入参数,并在Widget本身中定义它们,如下所示
你的问题存在是因为你传递给
CardWidgets
的构造函数的值实际上并没有被保存在任何地方,所以当CardWid
方法被调用时,参数(类型为dynamic
)为null。ffscu2ro2#