// my controller
class DuyuruController extends GetxController {
FirebaseFirestore _firebaseFirestore = FirebaseFirestore.instance;
TextEditingController duyuru = TextEditingController();
Rx<List<DuyuruModel>> duyurumodel = Rx<List<DuyuruModel>>([]);
List<DuyuruModel> get newsModelList => duyurumodel.value;
@override
void onInit() {
duyurumodel.bindStream(todoStream(uid));
super.onInit();
}
var uid;
String collection = "duyuru";
firestoreduyuruekle(String id) {
uid = new Uuid().v4().toString();
_firebaseFirestore.collection(collection).doc(uid).set({
"kullaniciid": id,
"duyuruid": uid,
"duyuru": duyuru.text,
});
duyuru.clear();
}
Stream<List<DuyuruModel>> todoStream(String uid) {
return _firebaseFirestore
.collection(collection)
.doc(uid)
.snapshots()
.map((query) {
var data = query.data();
List veriler = data['duyuru'];
List<DuyuruModel> retVal = [];
veriler.forEach((element) {
retVal.add(DuyuruModel.fromMap(element));
});
return retVal;
});
}
}
// my model
class DuyuruModel {
static const ID = "duyuruid";
static const NAME = "duyuru";
String id;
String duyuru;
DuyuruModel({
this.id,
this.duyuru,
});
DuyuruModel.fromMap(DocumentSnapshot documentSnapshot) {
id = (documentSnapshot.data() as Map)[ID];
duyuru = (documentSnapshot.data() as Map)[NAME];
}
}
//my ui
class DuyuruWidget extends StatefulWidget {
@override
_DuyuruWidgetState createState() => _DuyuruWidgetState();
}
class _DuyuruWidgetState extends State<DuyuruWidget> {
var deger2 = Get.put<AuthController>(AuthController());
var deger1 = Get.put<DuyuruController>(DuyuruController());
@override
Widget build(BuildContext context) {
return Obx(() {
if (deger1.newsModelList == null) {
return Text('Loading');
} else if (deger1.newsModelList.isEmpty) {
return Text('Empty List');
} else {
return ListView.builder(
itemCount: deger1.newsModelList.length,
itemBuilder: (context, index) {
return Text(deger1.newsModelList[index].duyuru);
},
);
}
});
}
}
my error : Unhandled Exception: NoSuchMethodError: The method '[]' was called on null. Receiver: null. Tried calling: . Even though I check for empty, the list is empty, can you help me?
enter image description here my firebase database
I'm getting list empty check error but there is announcement data in my database and I'm pulling them but I can't see the data on the screen