参数类型 '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});
}
我正在尝试遍历 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});
}