如何解决Flutter 错误:引发了另一个异常:“DiagnosticsProperty<void>”的实例重定向到该页面时显示空白屏幕
颤振错误:抛出另一个异常:“DiagnosticsProperty”实例。重定向到该页面时显示空白屏幕。
我已成功将文本项、一张图片和一张 pdf 上传到 firebase 数据库,并且能够在卡片小部件视图和列表平铺视图中检索所有这些现在我试图在单击列表中的列表项时获得单独的视图查看。
请检查我的代码,我在尝试重定向到所需的检索页面时看到一个空白屏幕。
RetrievePage.dart
import 'dart:async';
import 'dart:io';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:Flutter/material.dart';
import 'package:Fluttertoast/Fluttertoast.dart';
import 'package:gadjet_inventory/Form/ListTileFeed.dart';
import 'package:gadjet_inventory/Form/ListTiles.dart';
import 'package:gadjet_inventory/main.dart';
import 'package:intl/intl.dart';
import 'package:gadjet_inventory/Form/Data.dart';
import 'package:gadjet_inventory/Form/UploadData.dart';
import 'package:pdf_Flutter/pdf_Flutter.dart';
// ignore: must_be_immutable
import 'package:url_launcher/url_launcher.dart';
import 'Data.dart';
class RetrievePage extends StatefulWidget {
// String currentEmail;
//RetrievePage(this.currentEmail);
@override
_RetrievePageState createState() => _RetrievePageState();
}
class _RetrievePageState extends State<RetrievePage> {
List<Data> dataList = [];
List<bool> favList = [];
bool searchState = false;
FirebaseAuth auth = FirebaseAuth.instance;
@override
void initState() {
// Todo: implement initState
super.initState();
DatabaseReference referenceData = FirebaseDatabase.instance.reference().child("Data");
referenceData.once().then((DataSnapshot dataSnapShot) {
dataList.clear();
favList.clear();
var keys = dataSnapShot.value.keys;
var values = dataSnapShot.value;
for (var key in keys) {
Data data = new Data(
values [key]['imgurl'],values [key]['cattegorrytype'],values [key]['companyname'],values [key]['modelname'],values [key]['seriesname'],values [key]['serielnumber'],values [key]['year'],key
//key is the uploadid
);
dataList.add(data);
auth.currentUser().then((value) {
DatabaseReference reference = FirebaseDatabase.instance.reference().child("Data").child(key).child("Fav")
.child(value.uid).child("state");
reference.once().then((DataSnapshot snapShot){
if(snapShot.value!=null){
if(snapShot.value=="true"){
favList.add(true);
}else{
favList.add(false);
}
}else{
favList.add(false);
}
});
});
}
Timer(Duration(seconds: 1),(){
setState(() {
//
});
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
"List View",),actions: <Widget>[
// action button
],body: Center(
child: Container(
child: ListView.separated(
itemBuilder: (BuildContext context,int index) {
Column(
children: <Widget>[
Image.network(
dataList[index].imgurl != null
? dataList[index].imgurl
: '',width: 500,height: 500,Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,children: <Widget>[
Expanded(
flex: 1,child: Padding(
padding: const EdgeInsets.all(8.0),child: Text( "Cattegorry Type:- "
"$dataList[index].cattegorrytype",style: TextStyle(color: Colors.black),],child: Theme(
data: ThemeData(
hintColor: Colors.blue,child: Text( "Company Name:- "
"$dataList[index].companyname",Expanded(
flex: 1,child: Text( "Model Name:- "
"$dataList[index].modelname",child: Text( "Series Name:- "
"$dataList[index].seriesname",child: Text( "Year Of MFG:- "
"$dataList[index].year",);
},);
}
}
请解决我的问题,为什么我看到空白屏幕并显示错误“抛出了另一个异常:‘DiagnosticsProperty’的实例”
解决方法
尝试在不展开的情况下解决此视图,制作不带展开小部件的发布版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。