2011-06-02 8 views
5

से खींचने योग्य कैसे पहुंचे I ऐसी स्थिति में है जहां मुझे अपने ऐप के drawable folder का उपयोग गैर गतिविधि वर्ग के रूप में करना है। मैं निम्नलिखित कोड के साथ माता-पिता गतिविधि उपयोग करने की कोशिश:गैर गतिविधि वर्ग

ParentActivity pa = new ParentActivity(); 
Drawable d = pa.getResources()..getDrawable(R.drawable.icon);` 

लेकिन यह मुझे एक NulLPointerException देता है। मैं यह कैसे प्राप्त कर सकते हैं?

उत्तर

12

गैर ऑब्जेक्ट क्लास के निर्माता को पैरामीटर के रूप में संदर्भ ऑब्जेक्ट पास करें।

फिर संसाधन प्राप्त करने के लिए उस संदर्भ ऑब्जेक्ट का उपयोग करें।

उदाहरण

public class MyClass { 
    Context context; 
    public MyClass(Context context) { 
     this.context = context; 
    } 

    public void urMethod() { 
    Drawable drawable=context.getResources().getDrawable(R.drawable.icon); 
    // use this drawable as u need 
    } 
} 
+1

क्या यह सिर्फ मुझे या "आर" या (जावा में जो भी संसाधन कहा जाता है) कक्षा में आयात किया जाता है, तो यह सामान्य नहीं है? –

+1

ध्यान दें कि एपीआई 22 से, ड्रॉबल्स प्राप्त करने का सही तरीका है: 'ड्रायबल ड्रायबल = ContextCompat.getDrawable (संदर्भ, R.drawable.icon)' –

4
import com.(package-name).R; 

तो आप अपने सभी drawable, उदा, R.drawable.icon पहुँच सकते हैं।

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