2013-03-25 3 views
0

У меня есть класс с именем AppVariable, который расширяет класс приложениякласса приложений Android не сохраняет экземпляр объекта

это мой метод AppVariable # OnCreate(), а также геттер и сеттер для объекта я хочу получить:

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; 
} 

внутри моей деятельности я пытаюсь получить объект FacebookManager от AppVariable объекта - но он всегда возвращает нуль:

/** 
    * 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

+0

Вы определили свой объект приложения в файле манифеста? И что делает метод getApplication? – ikbal

+0

он действительно подавляет, говоря app.getFacebookManager(). GetFacbook() .... имеет нулевой указатель excepation –

ответ

0

Вы уверены, что ваш нулевой указатель подходит к «app.getFacebookManager()». Я хотел бы предложить вам напечатать все результаты метода и увидеть, где нуль идет вверх от:

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

Я сделал это, и app.getfacebookmanager был равен нулю –

+0

Насколько я понимаю, приведенный выше код находится в пределах одного действия? попробуйте вызвать facebookAuthorization сразу после того, как вы устанавливаете экземпляр setFacebookManager (новый FacebookManager (это)); –

Смежные вопросы