2015-07-03 118 views
5

在我的應用程序Android的背景信息成爲空

類中心的實例爲象下面這樣:

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總是甚至在C空不空。我期待這樣做的新的MyStuff(mContext)

回答

-1

而不是

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

當嘗試

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

很抱歉,但它不工作。我在this.mContext = c上放了一個斷點,但它永不停止 – Seb

+3

請參閱K的答案。他可能是正確的。 – Laurens

+0

在這種情況下,「mContext = c」和「this.mContext = c」有什麼區別? –

6

問題是mContext總是甚至在C空非空

因爲目前:

private ActionCustom MyAction = new ActionCustom(mContext); 

在調用之前執行的行MyStuff類構造函數,其中mContext對象的初始化完成。

做得一樣:

private ActionCustom MyAction; 
public MyStuff(Context c) { 
    mContext = c; 
    MyAction = new ActionCustom(mContext); 
}