Android 调用getActivity时改装回调中的Null指针

Android 调用getActivity时改装回调中的Null指针,android,fragment,retrofit,Android,Fragment,Retrofit,我正在使用改型从资源获取数据。但我认为我的架构是错误的。 例如,我有一个带有listview的片段 在UI设置之后的onCreateView中,我调用API方法(异步)。返回设置listview适配器所需的模型列表 这就是我在回叫中所做的 private Callback<List<User>> mUsersCallback = new Callback<List<User>>() { @Override public void

我正在使用改型从资源获取数据。但我认为我的架构是错误的。 例如,我有一个带有listview的片段

在UI设置之后的onCreateView中,我调用API方法(异步)。返回设置listview适配器所需的模型列表

这就是我在回叫中所做的

 private Callback<List<User>> mUsersCallback = new Callback<List<User>>() {
    @Override
    public void success(List<User> users, Response response) {
        mLoadingLayout.hideLoading();
        mPeopleAdapter = new PeopleAdapter(getActivity(), users);
        lvPeople.setAdapter(mPeopleAdapter);
    }

    @Override
    public void failure(RetrofitError error) {
        mLoadingLayout.hideLoading();
        Log.d("get users", error.getUrl() + "  " + error.toString());
    }
};
private Callback musercallback=new Callback(){
@凌驾
public void成功(列出用户、响应){
mlLoadingLayout.hideLoading();
mPeopleAdapter=newpeocuredapter(getActivity(),users);
lvPeople.setAdapter(mPeopleAdapter);
}
@凌驾
公共无效失败(错误){
mlLoadingLayout.hideLoading();
Log.d(“获取用户”,error.getUrl()+“”+error.toString());
}
};
在这一部分中,我有时在调用getActivity()时得到NPE;
如何以正确的方式进行操作?

尝试创建自己的回调类,然后通过构造函数传递活动或上下文


与此答案类似:

您的活动在呼叫过程中已被销毁,当您尝试在回调中获取它时,它可能为空


只需检查活动是否不为null,如果为null,则忽略回调。

发布日志可能会失败help@KaranMer真的不需要登录。当调用getActivity()时,它只是NPE。我想,在异步方法的回调中调用getActivity是不好的