2015-07-03 12 views
5

अपने आवेदन मेंएंड्रॉयड प्रसंग अशक्त

वर्ग केंद्रीय नीचे की तरह के रूप में दृष्टांत है बन जाता है:

central.java:

mContext = getApplicationContext(); 
mMyStuff = new MyStuff(mContext); 

MyStuff वर्ग कुछ से उपयोग करने के लिए mContext प्राप्त करने की आवश्यकता संसाधनों।

MyStuff.java:

public class MyStuff { 

    private Context mContext; 

    public MyStuff(Context c) { 
     mContext = c; 
    } 

    ....  
    private ActionCustom MyAction = new ActionCustom(mContext); 

मुद्दा यह है कि mContext हमेशा भी ग में मान शून्य होगा अशक्त नहीं है। मैं उम्मीद कर रहा था कि जब

public MyStuff(Context c) { 
    mContext = c; 
} 

की

उत्तर

-1

इसके बजाय नई MyStuff (mContext) करने का प्रयास करें

public MyStuff(Context c) { 
    this.mContext = c; 
} 
+0

क्षमा करें, लेकिन यह काम नहीं कर रहा। मैंने इस पर एक ब्रेकपॉइंट डाला है। MContext = c लेकिन यह – Seb

+3

कभी नहीं रोकता है ρяσѕρєя के जवाब। वह शायद सही है। – Laurens

+0

इस मामले में "mContext = c" और "this.mContext = c" के बीच क्या अंतर है? –

6

मुद्दा यह है कि mContext हमेशा भी ग में मान शून्य होगा रिक्त नहीं है

वर्तमान में:

private ActionCustom MyAction = new ActionCustom(mContext); 

लाइन MyStuff कक्षा कन्स्ट्रक्टर को कॉल करने से पहले निष्पादित की गई जहां mContext ऑब्जेक्ट का प्रारंभ किया गया है।

के रूप में यह कार्य करें:

private ActionCustom MyAction; 
public MyStuff(Context c) { 
    mContext = c; 
    MyAction = new ActionCustom(mContext); 
} 
संबंधित मुद्दे