मेरे पास एक है textfieldऔर मैं sqfliteअपने ऐप में डेटाबेस का उपयोग कर रहा हूं। sqfliteएक मूल्य जो मैं करने के लिए आवंटित करने के लिए की जरूरत है मेरीtextfield
यहाँ मेरा textfieldकोड है
StreamBuilder<String>(
stream: patientHealthFormBloc.doctorName,
builder: (context, snapshot) {
return TextFormField(
initialValue: patientHealthFormBloc.doctorNameValue,
onChanged: (value) {
patientHealthFormBloc.doctorNameChanged(value);
},
...
अब initstateमेरी कक्षा की विधि में, मैं डेटाबेस से मूल्य प्राप्त कर रहा हूं। यह एक अतुल्यकालिक ऑपरेशन है इसलिए इसमें समय लगता है।
मेरी ब्लॉक क्लास का कोड इस प्रकार है
Function(String) get doctorNameChanged => _doctorName.sink.add;
इसलिए जैसे ही मुझे डेटाबेस से मूल्य प्राप्त होता है, मैं उसके बाद कॉल करता हूं
doctorNameChanged("valuefromdatabase");
लेकिन मैं अपने टेक्स्टफील्ड में मूल्य नहीं देख सकता। इसके अलावा मेरे डेटाबेस में एक मान मौजूद है। क्या इसका उपयोग किए बिना मूल्य को अपडेट करना संभव है TextEditingControllerया नहीं setState। मैं के रूप में मेरी कक्षा chuncks और जिस तरह से भी के किसी भी उपयोग करने के लिए ऊपर मैं के साथ एक ही दृष्टिकोण का उपयोग कर की कोशिश की है जटिल की बहुत में विभाजित किया गया है उन से बचने की कोशिश मा RadioButtonऔर CheckBoxऔर वे ठीक से अद्यतन करने के लिए लग रहे हैं। मान भी अद्यतन किया गया है _doctorName.stream.valueजिसमें डेटाबेस में मौजूद है, लेकिन textfieldकोई डेटा नहीं दिखाता है। इसके अलावा मैंने कोशिश की रंग बदलने की textfieldतो वहाँ कोई समस्या नहीं है और साथ ही मैं यह देखने में सक्षम हूँ कि मैं क्या टाइप करता हूँ।
मैंने ऐप का एक छोटा सा डेमो बनाया है https://github.com/PritishSawant/demo/tree/master/lib
उपयोग करने के बजाय sqflite, मैं उपयोग कर रहा हूं shared preferencesलेकिन समस्या बनी रहती है