Wednesday, 15 February 2012

android - Showing aler diaog box in async task which is outside the activity (after execution is completed ) -


छवि दर्ज करें यहाँ विवरण

मैं async कार्य onpostExecute विधि में alertdialogbox को दिखाना चाहता हूँ जो एक differnt वर्ग है और एक आंतरिक वर्ग के रूप में नहीं लिखा है। मैं वर्तमान में एसिंक कार्य कन्स्ट्रक्टर में गतिविधि को पास कर रहा हूं और इसके संदर्भ को एलेरडीियलोग में प्रयोग कर रहा हूं, लेकिन एप्लिकेशन क्रैश हो रहा है। कृपया इसे कैसे हासिल किया जा सकता है, यह मदद करें। संलग्न त्रुटि है, त्रुटि से मैंने सोचा कि मुझे हेन्डलर का उपयोग करना होगा क्योंकि मैं यूआई को अद्यतन कर रहा हूं इसलिए मैंने हेन्डलर को जोड़ा और उसके अंदर एलरबॉक्स डाल दिया। लेकिन इस तरह से यह एप्लिकेशन क्रैश नहीं करता है, लेकिन एलेटबॉक्स को भी प्रदर्शित नहीं करता है। हेन्डलर का उपयोग नहीं किया जाना चाहिए क्योंकि मैंने पढ़ा है कि onpostExecute को UI थ्रेड में कहा जाता है। कृपया मुझे बताइए कि मैं गलत हूं।

अग्रिम धन्यवाद।

आपको आवश्यकता है क्रिया संदर्भ संदर्भ का उपयोग करने के बजाय एप्लिकेशन संदर्भ का उपयोग करने के लिए। आपको लगता है कि यह वही है जो आप यहां कर रहे हैं

  AlertDialog.Builder builder = new AlertDialog.Builder (imageUploadMainActivity.getApplicationContext ());  

लेकिन आप अभी भी getApplicationContext () को कॉल कर रहे हैं, जो अनुमान लगाते हैं, एप्लिकेशन संदर्भ देता है);

इसके बजाय हमें

<प्री> अलर्टडायलोग.बिल्डर बिल्डर = नया अलर्टडायलॉग.बिल्डर (imageUploadMainActivity);

यह मानते हुए कि imageUploadMainActivity वेरिएबल है जो संदर्भ को संदर्भ देता है आप AsyncTask के पास गए हैं। लेकिन, चूंकि आपने यह कोड नहीं दिखाया है, मैं निश्चित रूप से नहीं कह सकता।


No comments:

Post a Comment