原因:因为网络请求一般都是异步请求,请求成功回调后,都需要更新ui,这个时候,如果界面已经调用了onDestory()方法,相当于这个Activity已经被销毁了,调用了unBind()方法,就会报空指针了。
解决:在super.onDestroy();这个前面解绑,解绑后并将Unbinder对象置为null,然后在请求网络回调的方法中判断当Unbinder==null时,return;不执行下面更新ui的操作了。
代码:
base类:
@Override
public void onDestroy() {
if (mUnbinder!=null) {
mUnbinder.unbind();
mUnbinder=null;
}
super.onDestroy();
}
请求网路回调:
@Override
public void success(ReturnVo<SubjectList> subjectListReturnVo, Response response) {
if (mUnbinder==null){
return;
}
}
网友评论