2011-10-30 10 views
14

का उपयोग करके मुझे लगता है कि मैं करीब आ रहा हूं लेकिन अभी भी इसके साथ संसाधन त्रुटियां प्राप्त कर रहा हूं। मेरे पास सभी 3 ड्रॉइंग फ़ोल्डरों में rock.png नाम की एक छवि फ़ाइल है।छवियों की गतिशील लोडिंग R.Drawable चर

<ImageView android:id="@+id/rockId" android:src="@drawable/rock"></ImageView> 

मेरी कोड में:

  int resID = getResources().getIdentifier("rockId" , "id", "com.testing"); 
      ImageView image = (ImageView) findViewById(resID); 

मैं अभी भी अपने त्रुटि catlog में यह दिखाई दे रही है:

10-30 17:36:24.485: WARN/ResourceType(74): Resources don't contain package for resource number 0x7f020000 

किसी पर विचार

मेरी लेआउट MAIN.XML में

मैं गलत क्या कर रहा हूँ? कोई सुझाव का स्वागत करते हैं

उत्तर

23

नियंत्रण लगाने के लिए:

ImageView image = (ImageView) findViewById(R.id.rockId); 

drawable से एक छवि लोड मैं इस समारोह

public static int getDrawable(Context context, String name) 
    { 
     Assert.assertNotNull(context); 
     Assert.assertNotNull(name); 

     return context.getResources().getIdentifier(name, 
       "drawable", context.getPackageName()); 
    } 

का उपयोग यह आपके drawable की आईडी वापस आ जाएगी, अब आप सभी की जरूरत है dynamicly करने के लिए नियंत्रण में छवि सेट कर दिया जाता करने के लिए करने के लिए:

image.setImageResource(int Id); 
+1

यह एक अच्छा विचार है context.getPackageName उपयोग करने के लिए()! –

+0

धन्यवाद सर, यह उत्कृष्ट काम करता है – Hoofamon

+0

धन्यवाद आदमी, बहुत अच्छा काम करता है !! – mrid

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