在Flutter应用中,我有一个数据列表。看起来像这样:
List<ContentData> contentList = [
ContentData(
'Mona Lisa',
'images/0.jpg',
'1504',
'daVinci',
'Louvre, Paris',
'Mona Lisa ist ein weltberühmtes Ölgemälde von Leonardo da Vinci aus der Hochphase der italienischen Renaissance Anfang des 16. Jahrhunderts. Das auf Italienisch als La Gioconda (‚die Heitere‘) – davon abgeleitet ihr französischer Name La Joconde – bekannte Bild wurde vermutlich nach der Florentinerin Lisa del Giocondo benannt. Der unter anderem im deutschsprachigen Raum gebräuchliche Titel Mona Lisa beruht auf einem Rechtschreibfehler, denn Mona leitet sich von der italienischen Kurzform Monna (für Madonna ‚Frau‘) ab, und ist demnach also kein Vorname, sondern der Titel, mit dem Lisa als Ehefrau (madonna) von Francesco del Giocondo angeredet wurde.',
'https://de.wikipedia.org/wiki/Mona_Lisa'),]
在我的应用程序中的某一点上,我有一个名为TCard(https://pub.dev/packages/tcard)的Tinder图像滑动小部件。在TCard中,有一个cards属性,可以容纳多个小部件。这很好用,但我不想每次将一些内容添加到contentList时都进行硬编码,所以我只希望它包含一个列表。目前,该列表的实现方式如下:
Expanded(
child: TCard(
cards: AppBrain().tinderPagesList,
controller: _controller,
onForward: (index, info) {
print(index);
print(info.direction);
if (info.direction == SwipDirection.Right) {
print('right');
} else {
print('left');
}
},
onBack: (index) {
print("onBack");
},
onEnd: () {
setState(() {
toSwipePage();
print("end");
});
},
),
),
我还希望tinderPagesList可以根据contentList内部的内容自动创建自己,因此当我添加新条目时,tinderPagesList中应该有一个新条目。 我尝试实现此目的的方式如下所示: 我有清单:
List<FittedBox> tinderPagesList;
我有这个功能:
void tinderPagesListAdder() {
for (var i = 0; i < AppBrain().contentList.length; i++) {
var currentImageNumber = 0;
AppBrain().tinderPagesList.add(
FittedBox(
child: Container(
// height: MediaQuery.of(context).size.height,
margin: EdgeInsets.only(left: 50, right: 50),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
topRight: Radius.circular(20),
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(20)),
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.5),
spreadRadius: 5,
blurRadius: 7,
offset: Offset(0, 3), // changes position of shadow
),
],
),
child: ClipRRect(
borderRadius: BorderRadius.circular(20),
child: Image.asset(
"images/$currentImageNumber.jpg",
),
),
),
),
);
}
}
我遇到的错误是标题。我被困住了,不知道如何解决问题。
答案 0 :(得分:0)
您尚未初始化tinderPagesList
变量。
您需要先对其进行初始化,然后才能添加。这样做:
List<FittedBox> tinderPagesList = [];