【已解决】 领券联盟空指针异常,模拟请求做过了,Bean也对应更新了,特惠页面可以加载,但加载4次以后就闪退,报空指针异常
java.lang.NullPointerException: Attempt to invoke virtual method 'com.example.taobaounion.model.domain.OnSellContent$DataBean$TbkDgOptimusMaterialResponseBean$ResultListBean com.example.taobaounion.model.domain.OnSellContent$DataBean$TbkDgOptimusMaterialResponseBean.getResult_list()' on a null object reference
at com.example.taobaounion.presenter.impl.OnSellPagePresenterImpl.isEmpty(OnSellPagePresenterImpl.java:95)
at com.example.taobaounion.presenter.impl.OnSellPagePresenterImpl.onMoreLoaded(OnSellPagePresenterImpl.java:160)
at com.example.taobaounion.presenter.impl.OnSellPagePresenterImpl.access$300(OnSellPagePresenterImpl.java:18)
at com.example.taobaounion.presenter.impl.OnSellPagePresenterImpl$2.onResponse(OnSellPagePresenterImpl.java:137)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1.lambda$onResponse$0$DefaultCallAdapterFactory$ExecutorCallbackCall$1(DefaultCallAdapterFactory.java:89)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$$ExternalSyntheticLambda1.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:7892)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
导致后面的点击事件也没有完成跳转,这怎么解决?
第5页都没有result_list这个bean类了,所以那个判空条件应该如何进行改进??
在对数据处理前,多做一个判空处理,对确实的数据直接走onLoadMoreEmpty,其他部分就会跳过这个数据为空的部分
d看到这里就基本上可以定位出来了。
可以理解为(null)obj.getResult_list();也就是obj是null,你可以看看这个obj是谁,上面也说了。行号也有了。基本上可以知道怎么处理了。至于为什么对象是null,就是因为json里面没有这个对象对应的数据,在json转对象的时候无法满足。只能给这个对象是null了。
模拟请求数据与bean对一下即可。