2015-10-29 61 views
0

由於onAttach(Activity)已被棄用,遇到問題我有運行此代碼的麻煩:方法onAttach(活動)已過時實施onAttach(上下文)

public void onClick(View v) { 
    if (v == loginButton){ 
     application.getAuth().getUser().setIsLogedIn(true); 
     callbacks.onLoggedIn(); 
    } 
} 

public void onAttach(Activity activity){ 
    super.onAttach(activity); 
    callbacks = (Callbacks) activity; 
} 

public interface Callbacks{ 
    void onLoggedIn(); 
} 

現在我得到的java.lang.NullPointerException因爲callbacks.onLoggedIn()回報null

我試着還有:

public void onAttach(Context context){ 
     super.onAttach(context); 
     callbacks = (Callbacks) context.getApplicationContext(); 
    } 

回答

0

Here and here你可以找到關於你的問題的充分理由的討論。這些帖子將有助於更好地理解這個問題。

這裏只是一些提示,讓您迅速轉移:

1)在你的情況,你可以使用context以及activity

public void onAttach(Context context){ 
    super.onAttach(context); 
    if(context instanceof Callbacks){ 
     callbacks = (Callbacks) context; 
    } 
} 

2)您的片段連接你之後可以始終通過getActivity()方法獲得父母活動方法

相關問題