2013-03-25 27 views
0

我有一個名爲AppVariable類擴展應用類Android應用程序類不保存對象的實例

這是我AppVariable#onCreate()方法,並且getter和setter,因爲我要將對象檢索:

public void onCreate() { 
    super.onCreate(); 
    //set Facebook Manager 
    setFacebookManager(new FacebookManager(this)); 
} 

/** 
* Getter for FacebookManager Object 
* @return the FacebookConnectionManager object 
*/ 
public FacebookManager getFacebookManager() {       
    return this.facebookManager; 
} 

/** 
* Setter for FacebookManager object 
* @param facebookManager the new FacebookConnectionManager object 
*/ 
public void setFacebookManager(FacebookManager facebookManager) { 
    this.facebookManager = facebookManager; 
} 

我的活動中我試圖從AppVariable對象獲得FacebookManager對象 - 但它總是返回null:

/** 
    * Authorize with facebook 
    */ 
    public void facebookAuthorization() 
    { 
     AppVaiable app = (AppVariables) getApplication(); 

      //Connecting with Facebook 
     loadingStatus.setText("Connecting with Facebook"); 
     //authorize to Facebook    
     app.getFacebookManager().getFacebook().authorize(this, getResources().getStringArray(R.array.facebookPermissions), new AuthorizeDialogListener(app));  
    } 

WH任何想法y?

+0

如果這是你的代碼,而'facebookManager' 總是'null',那麼你的應用程序應該總是崩潰。你的應用崩潰了嗎?如果是這樣,錯誤日誌是什麼? – Shade 2013-03-25 15:22:09

+0

您是否在清單文件中定義了您的應用程序對象? getApplication方法做什麼? – ikbal 2013-03-25 15:22:22

+0

它確實暗戀,說app.getFacebookManager()。getFacbook()....有空指針excepation – 2013-03-25 15:41:20

回答

0

你確定你的空指針在「app.getFacebookManager()」出現。我建議你打印所有方法的結果和看到空是從哪裏來的了:

Log.d("YourClass", "Manager: "+ app.getFacebookManager()); 
    Log.d("YourClass", "FAcebook: "+ app.getFacebookManager().getFacebook()); 
+0

我做到了,並app.getfacebookmanager爲空 – 2013-03-25 16:16:24

+0

我的理解是,上面的代碼是在一個活動?嘗試在設置實例setFacebookManager(新FacebookManager(this))之後立即調用facebookAuthorization; – 2013-03-25 16:22:02

相關問題