2010-12-04 15 views
7

मैंने इसके बारे में बहुत कुछ पढ़ा है, और ऐसा कोई भी नहीं देख सकता जो पहले किया गया है या इसे आजमाया है।एंड्रॉइड प्रोग्रेसडियलॉग सेटकंटेंट व्यू

तो मैं एक वस्तु है कि imageView फैली मिल गया है, तो यह भीतर मैं एक प्रगति संवाद कॉल और imageView करने के लिए प्रगति संवाद की सामग्री सेट (यानी imageview..view में प्रगति संवाद आकर्षित करने के लिए प्रयास करते हैं।)

सामग्री

अब मैं पदों का भार पर पहले इस त्रुटि को देखा है जोड़ने से पहले requestFeature() बुलाया जाना चाहिए और हाँ जवाब स्पष्ट लगता:

loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView   
    loadingProgressDialog.setIndeterminate(true); 
    loadingProgressDialog.show(); 

और मैं त्रुटि मिलती है। मैंने सभी सुविधाओं को सेट करने का प्रयास किया है:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS); 
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 

लेकिन पहले मुझे समझ में नहीं आता कि मुझे इसकी आवश्यकता क्यों है? और उनमें से कोई भी वैसे भी काम नहीं करता!

तो सवाल यह है कि क्या मैं प्रोग्रेसडिअलॉग सामग्री को एक छवि दृश्य में देख सकता हूं? यदि हां, तो मुझे क्या गलत मिला है?

उत्तर

0

समझ गया।

सुराग कक्षा के नामों में था, जब आपको संवाद की आवश्यकता नहीं है तो प्रोग्रेसडिअलॉग (http://developer.android.com/reference/android/app/ProgressDialog.html) का उपयोग न करें!

मैंने अपना कार्यान्वयन उपयोग करने के लिए बदल दिया: प्रोग्रेसबार (http://developer.android.com/reference/android/widget/ProgressBar.html) और यह बहुत अच्छा काम करता है।

वैसे भी कान के लिए चीयर्स!

यही कारण है कि मैं इसके लिए देख रहा था है:

http://www.anddev.org/novice-tutorials-f8/imageview-with-loading-spinner-t49439.html

ट्यूटोरियल दिखा कैसे आप एक स्पिनर जबकि एक छवि लोड कर रहा है हो सकता है।

0

यदि आप प्रगति डायलॉग डेवलपर दस्तावेज़ पढ़ते हैं तो यह कहता है "एक संवाद एक प्रगति सूचक और वैकल्पिक टेक्स्ट संदेश या दृश्य दिखा रहा है। एक ही समय में केवल एक टेक्स्ट संदेश या दृश्य का उपयोग किया जा सकता है।"

ऐसा लगता है कि आप दोनों को करने की कोशिश कर रहे हैं। संभवतः आपके मुद्दे का कारण।

+0

मैं देख सकता हूं कि आपकी कहानियां क्या है, ऐसा लगता है कि मैंने मूल पोस्ट को अपडेट नहीं किया है। मुझे http://developer.android.com/guide/topics/ui/dialogs से मेरा विचार मिला।एचटीएमएल # कस्टमडिअलॉग – Blundell

42

का आनंद लें; वास्तव में , यह बहुत आसान है;

loadingProgressDialog.setContentView(this) 

का उपयोग कर

loadingProgressDialog.show() 

कोड के निम्नलिखित लाइनों के बाद अनावश्यक हैं:

loadingProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
loadingProgressDialog.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_PROGRESS); 
loadingProgressDialog.getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 

कहना है कि:

loadingProgressDialog.setIndeterminate(true); 
loadingProgressDialog.show(); 
loadingProgressDialog.setContentView(this); //this is: LoaderImageView extends ImageView 

पर्याप्त है।

मुझे आशा है कि इससे अन्य लोगों को इस प्रश्न के उत्तर की तलाश करने में मदद मिल सकती है।

+0

अजीब, सेटकंटेंट व्यू() डालने के बाद। शो() को मेरी स्थिति में काम करने के लिए मिला। दिलचस्प। धन्यवाद! – LargeGlasses

+1

इसे उत्तर – zirael

+1

व्हायाओ स्वीकार किया जाना चाहिए! कभी अनुमान लगाया नहीं जा सकता था कि setContentView के बाद रखा जाना चाहिए .show() – sud007

संबंधित मुद्दे