Я занимаюсь разработкой приложения, в котором мне нужно отобразить все детали лектора, которые хранятся в Firebase с использованием list_view
.Я использовал list_builder
для этого.Я получаю одинаковые данные во всех представлениях списка, что означает, что все плитки содержат одинаковый идентификатор лектора.

Я пытался загрузить скриншот, ноя не могу загрузить его
вывод: 1: переменная существует:
{LEC02: {EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC02, NAME: VIGNESH, POSITION: LECTURER, PASSWORD: LEC02, PHOTO: , QUALIFICATION: BCOM, DOJ: 2018-12-24 00:00:00.000}, LEC04: {EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC04, NAME: KARTHIK, POSITION: LECTURER, PASSWORD: LEC04, PHOTO: , QUALIFICATION: MCOM, DOJ: 2018-12-26 00:00:00.000}}
2: переменная key_id:
(LEC02, LEC04, LECTURER 01, LEC03, LEC01)
3: переменные данные:
({EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC02, NAME: VIGNESH, POSITION: LECTURER, PASSWORD: LEC02, PHOTO: , QUALIFICATION: BCOM, DOJ: 2018-12-24 00:00:00.000}, {EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC04, NAME: KARTHIK, POSITION: LECTURER, PASSWORD: LEC04, PHOTO: , QUALIFICATION: MCOM, DOJ: 2018-12-26 00:00:00.000}, {EMAIL: , SEX: FEMALE, ADDRESS: , MOBILE: , ID: LECTURER 01, NAME: AA, POSITION: LECTURER, PASSWORD: LECTURER 01, PHOTO: , QUALIFICATION: KAAM, DOJ: 2018-12-25 00:00:00.000}, {EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC03, NAME: PRANEETH, POSITION: HOD, PASSWORD: LEC03, PHOTO: , QUALIFICATION: MCA, DOJ: 2018-12-25 00:00:00.000}, {EMAIL: , SEX: MALE, ADDRESS: , MOBILE: , ID: LEC01, NAME: NISHA, POSITION: LECTURER, PASSWORD: LEC01, PHOTO: , QUALIFICATION: MCOM, DOJ: 2018-12-26 00:00:00.000})
код
import 'package:flutter/material.dart';
import 'package:firebase_database/firebase_database.dart';
import 'dart:async';
import 'package:firebase_database/ui/firebase_animated_list.dart';
import '../slidelecturer.dart';
import 'dart:convert';
String lecturer_id,lecturer_name;
bool hasdata=true;
Map<dynamic,dynamic> exist;
Iterable<dynamic>key_id,data;
Widget body;
final FirebaseDatabase database = FirebaseDatabase.instance;
class viewlecturer extends StatefulWidget {
@override
_viewlecturerState createState() => _viewlecturerState();
}
class _viewlecturerState extends State<viewlecturer> {
@override
void initState(){
print("hello");
this.get_data();
}
@override
Widget build(BuildContext context) {
if(hasdata==false){
body=new Container(
child:Center(
child: Text("LECTURER DOSE NOT EXIST",style: TextStyle(color: Colors.grey,fontWeight: FontWeight.bold,fontSize: 20),),
));
}
if(hasdata==true){
body= new Container(
child: ListView.builder(
itemCount: exist==null?0:exist.length,
itemBuilder: (BuildContext context,int index){
return Card(
child: new Text("${key_id}"),
);
},
),);}
return body;
}
Future<String>get_data()async {
database
.reference()
.child("NITTE/LECTURER").orderByValue()
.once()
.then((DataSnapshot snapshot) async {
this.setState((){
exist = snapshot.value;
});
if (exist == null) {
setState(() {
hasdata=false;
});
// confirmation();
} else if (exist != null) {
setState(() {
hasdata=true;
key_id=exist.keys;
data=exist.values;
});
}
});
}
}