Flutter 颤振将未来列表数据转换为正常列表
我试图在下拉字段中显示项目列表,这需要一个非未来的列表 因此,我试图通过迭代并将其添加到一个新的、正常的列表中,将我未来的列表(从数据库调用中获得)转换为一个正常的列表,如下所示; 当我打印未来列表的各个元素时,我会得到结果 但之后,当我打印新列表时,它返回为空值 有人知道我如何解决这个问题吗 PS:我对FutureBuilder解决方案不感兴趣。我知道我可以用futurebuilder显示未来列表,但这不符合我希望实现的解决方案Flutter 颤振将未来列表数据转换为正常列表,flutter,dart,flutter-listview,flutter-futurebuilder,Flutter,Dart,Flutter Listview,Flutter Futurebuilder,我试图在下拉字段中显示项目列表,这需要一个非未来的列表 因此,我试图通过迭代并将其添加到一个新的、正常的列表中,将我未来的列表(从数据库调用中获得)转换为一个正常的列表,如下所示; 当我打印未来列表的各个元素时,我会得到结果 但之后,当我打印新列表时,它返回为空值 有人知道我如何解决这个问题吗 PS:我对FutureBuilder解决方案不感兴趣。我知道我可以用futurebuilder显示未来列表,但这不符合我希望实现的解决方案 提前谢谢 问题是您没有初始化newList。您正在尝试将项
提前谢谢 问题是您没有初始化
newList
。您正在尝试将项目添加到空列表中。将getAll()
的第四行更改为以下内容:
var newList=List()代码>
您也不会等待您的firebase呼叫。这意味着您将在完成firebase调用之前打印阵列。您需要将此getAll()
方法async
和await
设置为firebase调用,以便它不会打印空版本。问题在于您没有初始化新列表
。您正在尝试将项目添加到空列表中。将getAll()
的第四行更改为以下内容:
var newList=List()代码>
您也不会等待您的firebase呼叫。这意味着您将在完成firebase调用之前打印阵列。您需要将此getAll()
方法async
和await
设置为firebase调用,以便它不会打印空版本。这是因为您没有等待将来完成。当你打印(新列表)时,未来还没有完成
您需要等待getAnswers数据来归档您想要的内容
最终答案=等待getAnswersList();
for(答案中的最终答案){
打印(answer.toString());
}
这是因为你没有等待未来的完成。当你打印(新列表)时,未来还没有完成
您需要等待getAnswers数据来归档您想要的内容
最终答案=等待getAnswersList();
for(答案中的最终答案){
打印(answer.toString());
}
为了便于将来参考,您可能希望将实际代码粘贴到问题中,以便人们可以轻松地将其复制到答案中。否则,我们必须自己写出来。为了将来的参考,您可能希望将实际代码粘贴到问题中,以便人们可以轻松地将其复制到他们的答案中。否则,我们必须自己写出来。不幸的是,问题仍然是一样的-列表中没有添加新的值。@lvb我更新了我的答案。希望helpsProblem保持不变。很遗憾,列表中没有添加新值。@lvb我更新了我的答案。希望有帮助