flutter - 类型'string'不是flutter firebase数据库中'index'类型'int'的子类型
问题描述
当我运行此代码时,我收到一个错误:类型'String'不是'index'的'int'类型的子类型,并且应用程序不运行。有人可以告诉我问题出在哪里或为什么会出现此错误吗?我在这里尝试从 firebase 实时数据库中检索数据。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging.onBackgroundMessage(backgroundHandler);
runApp(NGU_APP());
}
// ignore: camel_case_types
class NGU_APP extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomepage(),
routes: {
"login": (_) => LoginScreen(),
"signup": (_) => RegistrationScreen(),
},
);
}
}
class MyHomepage extends StatefulWidget {
const MyHomepage({key}) : super(key: key);
@override
_MyHomepageState createState() => _MyHomepageState();
}
class _MyHomepageState extends State<MyHomepage> {
@override
void initState() {
super.initState();
// getmessages();
dbref = FirebaseDatabase.instance.reference();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Color(0xFF6D0131),
body: SafeArea(
child: FirebaseAnimatedList(
shrinkWrap: true,
query: dbref,
itemBuilder: (BuildContext context, DataSnapshot snapshot,
Animation animation, int index) {
// var x = snapshot.value['Login'];
// print(x);
return ListTile(
title: Text(snapshot.value['Main Page']),
);
},
)),
),
);
}
}
解决方案
快照是一个 JSON 数组。尝试使用:
snapshot.value[index]['Main Page']
代替:
snapshot.value['Main Page']
推荐阅读
- python - 导入 python 声音文件库的问题 - OSError: library not found: 'sndfile'
- python - 用python配置代理
- postgresql - 使用带有 EF Core 和 postgis 的 NetTopologySuite 计算两点之间的地理距离
- ruby-on-rails - Rails - Heroku - 推送通知通过 Postman 工作,但不能通过我的 Rails API
- spring - 来自存储库的 JPA 方法 findAll() 为空
- css - 如果前一个 div 的高度不同,如何让我的第二个 div 进入页面边缘?
- c# - 无法通过 url 下载图像(错误 403)
- azure - 获取 Azure 警报详细信息页面的 URL
- url - 如何让我的网站始终在地址栏中显示相同的 URL
- mysql - 如何使用 ReactJS 前端将密码信息存储在数据库中?