参数类型 'Item' 无法分配给参数类型 'List<dynamic>'

The argument type 'Item' can't be assigned to the parameter type 'List<dynamic>'

我正在尝试遍历 phone 列表以显示使用包 contacts_service 的联系人的手机号码。

class UserContactItem 保存联系人的信息,当我将它的元素传递给 userContact 时,它给我这个错误:

Compiler message:
lib/home.dart:117:28: Error: The argument type 'Item' can't be assigned to the parameter type 'List<dynamic>'.
 - 'Item' is from 'package:contacts_service/contacts_service.dart' ('../../../../../../../Developer/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.3.10/lib/contacts_service.dart').
 - 'List' is from 'dart:core'.
          number: mobilenum[0],
                           ^

这里是 class UserContactItem:

class UserContactItem{


final String contactName;
  final List number;

  UserContactItem({this.contactName, this.number});
}

这里是对 phone 个元素的迭代:

final Iterable<Contact> contacts = await ContactsService.getContacts();

var iter = 0;
contacts.forEach((contact) async{
  var mobilenum = contact.phones.toList();

  if(mobilenum.length != 0){
    var userContact = UserContactItem(
      contactName: contact.displayName,
      number: mobilenum[0],
    );
  }
});

最初,在 class UserContactItem 中,您已定义号码的类型为 List<dynamic> .

class UserContactItem{
final String contactName;
  final List number; //here
  UserContactItem({this.contactName, this.number});
}

稍后,您将 mobilenum[0] 分配给 [=18= 类型的 ]项目。无法分配。

您应该将 UserContactItem 中 number 的类型更改为 Item

class UserContactItem{
final String contactName;
  final Item number; //like this
  UserContactItem({this.contactName, this.number});
}