【发布时间】:2022-01-14 02:56:15
【问题描述】:
我是 Flutter 的新手,我一直在尝试使用包 contacts_service 来获得包含联系人姓名和号码的列表。 下面是尝试的代码,但是“标题:文本(contact.displayName)”给了我错误displayName error,而“字幕:文本(contact.phones.elementAt(0).value 给了我错误elementAt error。 据我了解,这是由于 null 安全性,但我不太确定在哪里或如何在我的代码中检查 null。我是在脚手架内做还是在搭建之前做? 谢谢
import 'package:contacts_service/contacts_service.dart';
import 'package:flutter/material.dart';
class Contacts extends StatefulWidget {
@override
_Contacts createState() => _Contacts();
}
class _Contacts extends State<Contacts>{
List<Contact> contacts =[];
@override
void initState() {
super.initState();
getAllContacts();
}
getAllContacts() async{
List<Contact> _contacts = (await ContactsService.getContacts(withThumbnails: false)).toList();
setState(() {
contacts = _contacts;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Contact info'
),),
body: Container(
padding: EdgeInsets.all(20),
child: Column(
children: <Widget>[ Text ('test'),
ListView.builder(
shrinkWrap: true,
itemCount: contacts.length,
itemBuilder: (context, index) {
Contact contact = contacts[index];
return ListTile(
title: Text(contact.displayName),
subtitle: Text(
contact.phones.elementAt(0).value
),
);
},
)
],
),
),
);
}
}
【问题讨论】:
-
像 Text("${contact.displayName}");我会工作:-)
标签: flutter dart compiler-errors dart-null-safety