2011-09-01 16 views
7

मैं एंड्रॉयड में एक imageView नियंत्रण करने के लिए एक छवि सेट में सम्बंधित चित्र (Drawable) प्राप्त करें:imageView एंड्रॉयड

Drawable myDrawable = iv.getImageResource(); //wrong 

धन्यवाद:

iv.setImageResource(R.drawable.image1); 

मैं इस जुड़े Drawable प्राप्त करना चाहते हैं, की तरह दिखता है!

+0

क्या आप विस्तृत कर सकते हैं। जहां आप चाहते हैं भ्रम। –

उत्तर

28

आप की तरह

Drawable myDrawable = iv.getDrawable(); 

drawable आप की तरह

if(iv.getDrawable()==getResources().getDrawable(R.drawable.image1)){ 
    //do work here 
} 
+5

यह मेरे लिए काम नहीं किया। – Manikandan

+2

यह मेरे लिए भी काम नहीं करता .. और फिर भी इसका चेक मार्क है। – IcedDante

+0

आपको क्या त्रुटि मिलती है? –

5

पहले ड्रायबल को परिभाषित करें।

Drawable myDrawable = getResources().getDrawable(R.drawable.image1); 
iv.setImageDrawable(myDrawable); 
5

उपयोग Drawable drawable=imageview.getDrawable();

+0

धन्यवाद !, मैं इसे DrawableResource के साथ कैसे तुलना कर सकता हूं? (R.drawable.image1) – thenosic

+0

आप छवियों की तुलना नहीं कर सकते हैं (आसानी से) !!!! – Fattie

+0

@thenosic, आप इसकी तुलना कर सकते हैं। मेरा जवाब जांचें। –

7

दुर्भाग्य से, वहाँ कोई getImageResource() या getDrawableId() है। लेकिन, मैंने ImageView टैग का उपयोग कर एक सरल कामकाज बनाया है।

OnCreate() में:

imageView0 = (ImageView) findViewById(R.id.imageView0); 
imageView1 = (ImageView) findViewById(R.id.imageView1); 
imageView2 = (ImageView) findViewById(R.id.imageView2); 

imageView0.setTag(R.drawable.apple); 
imageView1.setTag(R.drawable.banana); 
imageView2.setTag(R.drawable.cereal); 

तो फिर, अगर आप चाहें, तो आप एक साधारण समारोह drawable आईडी प्राप्त करने के लिए बना सकते हैं:

private int getImageResource(ImageView iv) { 
    return (Integer) iv.getTag(); 
} 

मुझे आशा है कि इस मदद करता है, यह सुनिश्चित किया मेरा काम आसान है।

+0

मैं उस समाधान की तलाश में हूं जिसमें छवि दृश्य पर छवि संसाधन बदलता है। मैं इस पर आधारित व्यवहार करने के लिए वर्तमान संसाधन जानना चाहता हूं। यह समाधान काम नहीं करेगा क्योंकि हमें डिज़ाइन समय में संसाधन आईडी के साथ टैग प्रॉपर्टी प्रारंभ करना है। सही?? – hasan83

+0

आप किसी भी समय टैग जोड़ या बदल सकते हैं। इसके अलावा, आप जो भी करने की कोशिश कर रहे हैं उसके आधार पर, एक [व्यूफ्लिपर] (http://developer.android.com/reference/android/widget/ViewFlipper.html) विचार करने का विकल्प हो सकता है। – Anonsage

+0

मैं छवियों को डाउनलोड करने के लिए बाहरी पुस्तकालय का उपयोग कर रहा हूं और यह छविदृश्य पर छवि को बदलता है। मैं पुस्तकालय को संशोधित नहीं करना चाहता था। तो मैंने एक और समाधान लागू किया। धन्यवाद – hasan83

0

एक drawable संसाधन के साथ तुलना कर सकते हैं प्राप्त कर सकते हैं अगर आप को देखने के आईडी सदस्य चर का उपयोग कर सकते हैं एक आसान तरीका है: बस की दुकान v.setId() का उपयोग कर R.drawable आईडी। फिर इसे v.getId() के साथ वापस प्राप्त करें।