有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

不推荐使用的java方法onAttach(活动)在实现onAttach(上下文)时遇到问题

由于onAttach(Activity)已被弃用,我在运行此代码时遇到问题:

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

共 (1) 个答案

  1. # 1 楼答案

    Herehere你可以找到关于你的问题的合理的讨论。这些帖子将有助于更好地理解这个问题

    以下是一些让你快速前进的小贴士:

    1)在您的情况下,您可以使用contextactivity

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

    2)在附加片段后,始终可以使用getActivity()方法获取父活动