gpt4 book ai didi

android - Flutter - getter 'length' 在 null 上被调用

转载 作者:IT王子 更新时间:2023-10-29 06:47:44 24 4
gpt4 key购买 nike

我正在尝试开发一个 flutter 应用程序。这种 flutter 正在为纸牌游戏创建团队。创建团队后,可以通过 统计积分,不用考虑每个人有多少积分。

但是我遇到了一个异常,我知道异常在哪里以及它意味着什么,但我不知道如何解决这个问题。我希望你们中的一些人能帮助我。

这是抛出错误的代码:

import 'package:flutter/material.dart';


class Punktezaehler extends StatefulWidget{

final List<String> spieler_namen;
Punktezaehler(this.spieler_namen);

@override
State<StatefulWidget> createState() => new _Punktezaehler(this.spieler_namen);
}


class _Punktezaehler extends State<Punktezaehler>{

final List<String> spieler_namen;
_Punktezaehler(this.spieler_namen);

List<int> punkteanzahl_teamEins;
List<int> punkteanzahl_teamZwei;

@override
Widget build(BuildContext context) {


var spieler1 = spieler_namen[0].substring(0,3);
var spieler2 = spieler_namen[1].substring(0,3);
var spieler3 = spieler_namen[2].substring(0,3);
var spieler4 = spieler_namen[3].substring(0,3);

return new Scaffold(
appBar: new AppBar(
automaticallyImplyLeading: false,
title: new Text("$spieler1 & $spieler2 vs" +" $spieler3 & $spieler4"),
actions: <Widget>[

],
),
body: Container(
child: new Row(
children: <Widget>[
new Column(
children: <Widget>[
new IconButton(
icon: Icon(Icons.exposure_plus_2),
onPressed: () => punkte_hinzuzaehlen(1, 2)
)
],
),
new Column(
children: <Widget>[
//new FlatButton(onPressed: () => print(punkteanzahl_teamEins.length), child: new Text("Punkte")),
ListView.builder(
itemCount: punkteanzahl_teamEins.length, //--> Error is thrown here
itemBuilder: (context, index){
return Text(punkteanzahl_teamEins[index].toString());
}
),
new Row()
],
),
new Column(
children: <Widget>[
new IconButton(
icon: Icon(Icons.exposure_plus_2),
onPressed: () => punkte_hinzuzaehlen(2, 2)
)],
)
],
)
),
);
}

void punkte_hinzuzaehlen(int team, int nummer){
if (team == 1){
//Team 1 bekommt die Punkte
print("Team 1 gets points");
}
else if(team == 2){
//Team 2 bekommt die Punkte
print("Team 2 gets points");
}
}
}

这是错误信息:

══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter (26028): The following NoSuchMethodError was thrown while handling a gesture:
I/flutter (26028): The getter 'length' was called on null.
I/flutter (26028): Receiver: null
I/flutter (26028): Tried calling: length

修复后,我又遇到了一个错误:

══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (26028): The following assertion was thrown during performResize():
I/flutter (26028): Vertical viewport was given unbounded width.
I/flutter (26028): Viewports expand in the cross axis to fill their container and constrain their children to match
I/flutter (26028): their extent in the cross axis. In this case, a vertical viewport was given an unlimited amount of
I/flutter (26028): horizontal space in which to expand.

最佳答案

punkteanzahl_teamEins 仅被声明。但是没有初始化。所以它抛出空错误。

您应该将值分配给 punkteanzahl_teamEins 作为

List<int> punkteanzahl_teamEins = [1,4,5,7];

或根据要求从父级传递数据。

关于android - Flutter - getter 'length' 在 null 上被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com