Android 调用getActivity时改装回调中的Null指针
我正在使用改型从资源获取数据。但我认为我的架构是错误的。 例如,我有一个带有listview的片段 在UI设置之后的onCreateView中,我调用API方法(异步)。返回设置listview适配器所需的模型列表 这就是我在回叫中所做的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
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是不好的