2011-07-10 20 views
77

मैं ImageView बनाने की कोशिश कर रहा हूं जिसमें छवियों की एक गैलरी है। अगली छवि लोड करने के लिए उपयोगकर्ता अनुरोध को स्पर्श करके। अगर अगली छवि सर्वर में नहीं मिलती है या लोड करने में समय लगता है तो मुझे पुरानी छवि खाली होने की आवश्यकता है।छविदृश्य से छवि को निकालें एंड्रॉइड

setVisibility(View.GONE) या setVisibility(View.INVISIBLE) मेरे लिए काम नहीं करते क्योंकि जब अदृश्य/चला गया मैं onTouch() रोक का पता लगाने (और उपयोगकर्ता वर्तमान छवि में बंद कर दिया जाता है)।

मैं खाली बिटमैप लोड करने या साफ़ बिटमैप को साफ़ करने के लिए ImageView कैसे बना सकता हूं?

+0

ImageView.setImageResource (android.R.color.transparent); http://stackoverflow.com/questions/2859212/how-to-clear-an-imageview-in-android –

+1

कोरक्ट उत्तर pls – user25

उत्तर

2

प्रयास करें:

imageView.setImageResource(0); 

यह कोई संसाधन का उपयोग करने के लिए छवि दृश्य सेट हो जाएगा।

+1

मेरे लिए काम नहीं कर रहा है = (कॉल imageView.setImageResource (0) के बाद यह अभी भी दिखाता है पुरानी तस्वीर – ChyBy

+0

हम्म, दिलचस्प। ठीक है, उसने अतीत में मेरे लिए काम किया है। – Ribose

+17

धन्यवाद, अंत में देखें .setImageDrawable (शून्य) काम करता था क्योंकि मैं – ChyBy

4

निश्चित रूप से imageView.setImageResource (0) काम करता है। यह मेरे लिए कभी विफल नहीं हुआ है और मैंने इसे कई बार इस्तेमाल किया है।

setImageResource आमतौर पर संदर्भ R.drawable, (चित्र के लिए संदर्भ) संदर्भित किया जाता है, जिसे एक int के रूप में संग्रहीत किया जाता है, लेकिन आरजेजा वर्ग में हेक्स मान, 0xf2fs के रूप में प्रदर्शित होता है ... तो इस संदर्भ को मानना मौजूद यह एक तस्वीर दिखाएगा, अगर आप बाद में उसी छविदृश्य को एक संदर्भ पास करते हैं जो पुरानी तस्वीर मौजूद नहीं है तो अब दिखाई नहीं देगी। इसलिए, यदि आप इसे 0, या 5 या एक int पास करते हैं जो आपके R.java क्लास में संदर्भित संसाधन से मेल नहीं खाता है तो यह चित्र दृश्य के स्रोत से पूरी तरह से चित्र को हटा देगा। तो यदि आप छवि दृश्य के पुराने संदर्भ में 0 पास कर रहे हैं।

+2

'imageView.setImageResource (0) 'सैमसंग एस 5 पर मेरे लिए काम नहीं करता था 4.4.2 चल रहा है। हालांकि 'imageView.setImageDrawable (null);' काम करता है। – rlay3

310

मैं हमेशा मैं क्या देखा है से

imageView.setImageDrawable(null); 
+0

बहुत बहुत धन्यवाद। यह मेरे लिए काम करता है – Sakthimuthiah

+28

इसे सही उत्तर –

+0

अजीब के रूप में चिह्नित किया जाना चाहिए! यह काम नहीं कर रहा है। वास्तव में सेट इमेज रेसौस (0) और सेट बैकग्राउंड (शून्य) भी काम नहीं कर रहा है। कोई विचार कैश या कुछ साफ़ करने का कारण या कोई चाल हो सकता है। – RamKr

1

उपयोग करें, या कुछ विधि का नहीं "काम" छवि को साफ करने imageView पॉप्युलेट करने के लिए इस्तेमाल किया विधि पर निर्भर करता है।

तो यदि आप img.setImageBitmap(bmp) सेट करते हैं तो यह स्पष्ट करने के लिए कि आपको img.setImageBitmap(null) का उपयोग करना चाहिए। जब आप img.setImageResource(resId) तब साफ़ करने के लिए आपको img.setImageResouce(0) का उपयोग करना चाहिए। आदि

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