की गतिविधि में संवाद मेरे ऐप में मैं AsyncTask
में कुछ गंभीर काम कर रहा हूँ प्रगति अद्यतन कर रहा है और अपने मुख्य मेरी गतिविधि में एक ProgressDialog
दिखा:के रूप में एंड्रॉयड ट्यूटोरियल ने सुझाव दिया AsyncTask
dialog = ProgressDialog.show(MyActivity.this, "title", "text");
new MyTask().execute(request);
जहां फिर बाद में MyTask
में मैं पोस्ट गतिविधि के लिए वापस परिणाम:
class MyTask extends AsyncTask<Request, Void, Result> {
@Override protected Result doInBackground(Request... params) {
// do some intense work here and return result
}
@Override protected void onPostExecute(Result res) {
postResult(res);
}
}
और परिणाम पोस्टिंग पर, मुख्य गतिविधि में मैं संवाद छिपाने 210
तो सबकुछ ठीक काम कर रहा है, लेकिन मैं किसी भी तरह से प्रगति संवाद को अद्यतन करना चाहता हूं ताकि उपयोगकर्ता को केवल डमी के बजाय कुछ वास्तविक प्रगति दिखा सकें "कृपया प्रतीक्षा करें ..." संदेश। क्या मैं किसी भी तरह से MyTask.doInBackground
से प्रगति संवाद तक पहुंच सकता हूं, जहां सभी काम किए जाते हैं?
जैसा कि मैं समझता हूं कि यह अलग थ्रेड के रूप में चल रहा है, इसलिए मैं वहां से मुख्य गतिविधि से "बात" नहीं कर सकता और यही कारण है कि मैं परिणाम को वापस धक्का देने के लिए onPostExecute
का उपयोग करता हूं। लेकिन समस्या यह है कि onPostExecute
केवल तभी बुलाया जाता है जब सभी काम पहले ही हो चुके हैं और मैं कुछ करने के बीच में संवाद को प्रगति करना चाहता हूं।
कोई सुझाव यह कैसे करें?
उह, किसी भी तरह डॉक्स में वह हिस्सा याद किया, धन्यवाद अधिक जानकारी के लिए docs का संदर्भ लें! – Laimoncijus