【安卓】手机横竖屏时,fragment里的实例如recyclerview对象为null,后台返回数据时回调导致空指针异常

手机横竖屏切换时,fragment状态丢失,导致子线程请求的数据回调显示时,报空指针异常,如何解决【安卓】手机横竖屏时,fragment里的实例如recyclerview对象为null,后台返回数据时回调导致空指针异常

【安卓】手机横竖屏时,fragment里的实例如recyclerview对象为null,后台返回数据时回调导致空指针异常

回答

感觉像是转屏触发了重绘,在Manifast里面给当前Activity添加如下属性试试:
android:configChanges="orientation|screenSize"

不论是旋转屏幕还是关闭Activity, 都应该在Fragment#onDestroy()或者Fragment#onDestroyView()时, 取消网络接口的响应监听. 否则即便是通过设置android:configChanges解决屏幕旋转时Activity重建导致App崩溃的问题, 其他场景也还是有几率让App崩溃

建议阅读下Android源码去了解下以下几个知识点:

  1. Activity是如何管理Fragment

  2. Fragment是如何管理View

  3. Activity & Fragment是如何管理Loader

另外推荐使用 Retrofit + RxAndroid + RxLifecycle 来实现网络接口以及调用. 页面数据管理可以考虑Loader.

可以在重启的时候,取消掉网络任务

以上是 【安卓】手机横竖屏时,fragment里的实例如recyclerview对象为null,后台返回数据时回调导致空指针异常 的全部内容, 来源链接: utcz.com/a/102496.html

回到顶部