android - 如何操作数组/索引 [已解决]
问题描述
我想访问一个列表的索引并将其连接到另一个列表的索引。例如,第一个用户的输入是“AB”,第二个是“CD”,所以当您按下按钮时,它应该打印“AD”(第一个输入的索引 0 + 第二个输入的索引 1)。我收到此错误:RangeError (index): Invalid value: Valid value range is empty: 0
。我看过一些解决方案,很多人说问题在于尝试访问尚未准备好的数组,但我不明白该逻辑以及逻辑本身的放置位置。
children: [
TextField(
controller: firstTextEditingController,
decoration: InputDecoration(
hintText: 'Insert first input',
filled: true,
contentPadding: EdgeInsets.all(20),
),
style: TextStyle(color: Colors.black),
),
const SizedBox(
height: 20,
),
TextField(
controller: secondTextEditingController,
decoration: InputDecoration(
hintText: 'Insert second input',
filled: true,
contentPadding: EdgeInsets.all(20),
),
style: TextStyle(color: Colors.black),
),
const SizedBox(
height: 55,
),
ElevatedButton(
style: ElevatedButton.styleFrom(
padding:
EdgeInsets.symmetric(horizontal: 50, vertical: 18)),
onPressed: () => Navigator.of(context).push(MaterialPageRoute(
builder: (context) => NextPage(
result: firstTextEditingController.text.length >0 ? firstTextEditingController.text[0] : '' +
secondTextEditingController.text.length > 0 ? secondTextEditingController.text[1] : ''),
fullscreenDialog:
true, com o input do user
)),
child: Text('Calculate'),
)
],
),
));
}
}
解决方案
该错误意味着 的值为firstTextEditingController.text
空。您可以检查是否已将其绑定到 a textField
,并且其中textField
有一些文本。
顺便说一句,这TextEditingController.text
是一个字符串(不是数组)。在 dart 中,字符串具有[]
类似 List 的运算符(类似数组)。
推荐阅读
- html - 为什么我的 -webkit-background-clip: text ; 不管用
- asp.net - 无法将 NameValueCollection 传递给 ASP.NET/C# 中的 POST WebAPI 5.0 核心
- r - 在 HUGE 数据帧(超过 2000 万行)中在 R 中执行 CountIf
- angular - 自定义验证器以验证 Master-Detail 中的表单字段和模型 - Angular
- java - 获取错误扫描二维码 Android webview 应用程序
- c++ - 如何绕过散列(Crypto++ 库)中的 \x1a 字符(或类似字符)?
- csv - 通过 python 将词汇表添加到 Google translte V3 API
- blockchain - Chain Link VRF 不工作 函数调用的参数计数错误:3 个参数给出但预期 2. 返回 requestRandomness(keyHash, fee, seed)
- recursion - 在 coq 中证明两个列表队列
- uno-platform - Uno 随机编译错误