首页 > 解决方案 > 如何操作数组/索引 [已解决]

问题描述

我想访问一个列表的索引并将其连接到另一个列表的索引。例如,第一个用户的输入是“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'),
              )
            ],
          ),
        ));
  }
}

标签: androidflutterdartmobile

解决方案


该错误意味着 的值为firstTextEditingController.text空。您可以检查是否已将其绑定到 a textField,并且其中textField有一些文本。

顺便说一句,这TextEditingController.text是一个字符串(不是数组)。在 dart 中,字符串具有[]类似 List 的运算符(类似数组)。


推荐阅读