मेरे पास एक है 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
लेकिन समस्या बनी रहती है