- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在构建 ListView 时遇到错误。在这个 flutter 应用程序中,我尝试在单击按钮时为每一列计算一些点。但我总是遇到同样的错误。
══╡ EXCEPTION CAUGHT BY GESTURE
I/flutter (28729): The following RangeError was thrown while handlinga gesture: I/flutter (28729): RangeError (index): Invalid value: Validvalue range is empty: 0
这是我的代码,我希望有人能够帮助我修复错误:
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 = [];
int team1_hinzugezaehlt = 0;
int team2_hinzugezaehlt = 0;
@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 Padding(padding: EdgeInsets.only(left: 100.0)),
new Expanded(
child: ListView.builder(
itemCount: punkteanzahl_teamEins.length, //--> Error is thrown here
itemBuilder: (context, index){
return Text(punkteanzahl_teamEins[index].toString());
}
),
),
new Expanded(
child: ListView.builder(
itemCount: punkteanzahl_teamZwei.length, //--> Error is thrown here
itemBuilder: (context, index){
return Text(punkteanzahl_teamZwei[index].toString());
}
),
),
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){
setState(() {
punkteanzahl_teamEins[team1_hinzugezaehlt] = nummer;
team1_hinzugezaehlt++;
});
}
else if(team == 2){
setState(() {
punkteanzahl_teamZwei[team2_hinzugezaehlt] = nummer;
team2_hinzugezaehlt++;
});
}
}
}
最佳答案
当你点击一个按钮时你正在调用这条线的问题
punkteanzahl_teamEins[team1_hinzugezaehlt]
和 team1_hinzugezaehlt
的初始值为 0
但每次用户单击该按钮时,该值都会增加 1所以假设您的 punkteanzahl_teamEins
列表在第四次单击时包含 2 个项目,值 team1_hinzugezaehlt
将是 4 witch 将导致此错误。所以解决方案是检查值是否在范围内
if (team1_hinzugezaehlt<punkteanzahl_teamEins.length){
setState(() {
punkteanzahl_teamEins[team1_hinzugezaehlt] = nummer;
team1_hinzugezaehlt++;
});
}
对第二个函数做同样的事情
关于android - flutter - RangeError(索引),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51180553/
我已经读了差不多有关此错误的文章,但是常见的答案是“使用FutureBuilder”或“使用isEmpty?”。我已经尝试了两种解决方案,但是仍然出现错误。提前致谢。 import 'package:
我想这意味着有一个循环引用,但是对于我的一生,我无法猜测如何解决它。 谁有想法? http://plnkr.co/edit/aNcBcU?p=preview 检查Chrome中的调试控制台(例如),您
我的 JS 代码运行得很好,直到我添加了以下函数: $(".meassure-combo").change(function() { switch ($(this).attr("name"))
我有 HTML: Upload 还有 jQuery/JavaScript: $('.js-uploader').click(function(){ $(this).fi
我正在尝试下载大型 json 数据。但它会导致Uncaught RangeError: Invalid string length。 请帮忙解决这个问题,先谢谢了。 这是 Jsfiddle:http:
smallestInteger = (stack,numbers,k) => { if (stack.length == 0){ stack.push(numbers[k]);
我在nodejs中使用sequelize和mysql。我正在尝试运行命令 npx sequelize db:create 但它给了我这个错误。不知道在这里做什么。任何帮助表示赞赏。谢谢你。 Seque
我收到以下错误 W20141210-18:14:54.394(5.5)? (STDERR) W20141210-18:14:54.395(5.5)? (STDERR) /Users/removed/.
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我是 Meteor 的新手。我正在做简单的应用程序。这是我遇到的问题: Template.newFeedForm.events({ 'submit #new-feed-form'(event)
我有一个更改事件,当选择框更改时会触发该事件。然而,选择框位于被替换的 div 内,因此会重新生成选择框。由于此错误可能是由于无限循环造成的,因此我猜测创建选择框时也必须触发我的触发事件。我尝试了很多
我有一个表格,我必须从中获取我的数据。我正在使用 ejs 模板。我的“/”路由呈现“主” View ,我有一个中间件来处理来自表单的数据,但它返回错误“RangeError:超出最大调用堆栈大小” 我
当运行以下代码时: (function recur() { recur() })() 出现以下错误 - Uncaught RangeError: Maximum call stack size
我有一个正在实现一些自定义验证的表单。这是在提交表单之前处理最终检查的 JavaScript block : $('.enquiry-form-container form').submit(func
为什么我收到RangeError:超出最大调用堆栈错误?我正在尝试解析文本以找到数学并解决它。它一直有效,直到我开始实现括号'。我试图找出错误,但就是无法弄清楚。 我的代码: var alg = {
我收到以下错误: RangeError: Maximum call stack size exceeded. 在这一行: requestAnimFrame(Game.loop()); 在这段代码中:
我在显示来自本地 json 的数据时收到 RangeError (index): Invalid value: Valid value range is empty: 0。我正在尝试使用 simple
我在构建 ListView 时遇到错误。在这个 flutter 应用程序中,我尝试在单击按钮时为每一列计算一些点。但我总是遇到同样的错误。 ══╡ EXCEPTION CAUGHT BY GESTUR
大家好!初学者在这里! 我用Socket.IO制作了一个小Node.JS应用程序,该应用程序运行良好,直到我决定将套接字代码放入对象中以允许 namespace 管理为止。我现在对此方法有疑问(我相信
未为用户设置图像时,出现以下错误: “未处理的异常:RangeError:值不在范围内:22” 摆好照片后,一切就正确了 我的代码: Future getData() async { fina
我是一名优秀的程序员,十分优秀!