Android 不良状态:无元素抖动

Android 不良状态:无元素抖动,android,ios,flutter,dart,flutter-listview,Android,Ios,Flutter,Dart,Flutter Listview,我正在开发一个基于联系人管理的小项目,在这个项目中我集成了“联系人服务”flatter插件 当我从我的物理设备浏览联系人时,会出现显示错误。这是我的代码 for (int i=0;i<ccl.contacts.length;i++){ if(ccl.contacts[i].phones.first.value.toString() != null && ccl.contacts[i].phones.first.value.toString().length&g

我正在开发一个基于联系人管理的小项目,在这个项目中我集成了“联系人服务”flatter插件 当我从我的物理设备浏览联系人时,会出现显示错误。这是我的代码

 for (int i=0;i<ccl.contacts.length;i++){
      if(ccl.contacts[i].phones.first.value.toString() != null && ccl.contacts[i].phones.first.value.toString().length>0){

      print(ccl.contacts[i].phones.first.value.toString().trim());
      print(ccl.contacts[i].displayName);
for(int i=0;i0){
打印(ccl.contacts[i].phones.first.value.toString().trim());
打印(ccl.contacts[i].displayName);
这是我的错误

 Exception caught by gesture ═══════════════════════════════════════════════════════════════
The following StateError was thrown while handling a gesture:
Bad state: No element

When the exception was thrown, this was the stack: 
#0      ListIterable.first (dart:_internal/iterable.dart:51:22)
#1      _MyHomePageState.changedContact (package:contactchanged/main.dart:74:33)
#2      _MyHomePageState.build.<anonymous closure>.<anonymous closure> (package:contactchanged/main.dart:114:36)
#3      State.setState (package:flutter/src/widgets/framework.dart:1233:30)
#4      _MyHomePageState.build.<anonymous closure> (package:contactchanged/main.dart:114:23)
...
Handler: "onTap"
Recognizer: TapGestureRecognizer#70bc3
  debugOwner: GestureDetector
  state: possible
  won arena
  finalPosition: Offset(188.6, 115.4)
  finalLocalPosition: Offset(188.6, 29.1)
  button: 1
  sent tap down
由手势捕获的异常═══════════════════════════════════════════════════════════════
处理手势时引发了以下StateError:
错误状态:无元素
引发异常时,这是堆栈:
#0 ListIterable.first(省道:内部/iterable.dart:51:22)
#1 _MyHomePageState.changedContact(包:contactchanged/main.dart:74:33)
#2_MyHomePageState.build..(包:contactchanged/main.dart:114:36)
#3 State.setState(包:flatter/src/widgets/framework.dart:1233:30)
#4_MyHomePageState.build.(包:contactchanged/main.dart:114:23)
...
处理程序:“onTap”
识别器:TapGestureRecognizer#70bc3
debugOwner:GestureDetector
国家:可能
赢得竞技场
最终位置:偏移量(188.6115.4)
最终头寸:抵销(188.6,29.1)
按钮:1
发送轻敲

看起来您的某个联系人的电话列表是空的,当您呼叫
时,首先会出现一个错误:

您需要类似于以下内容的内容,在第一次调用列表
之前,先检查列表
是否为空

if(ccl.contacts[i].phones.isNotEmpty){
打印(ccl.contacts[i].phones.first.value.toString().trim());
打印(ccl.contacts[i].displayName);
}