您的位置:首頁技術文章
文章詳情頁

android - 手機橫豎屏時,fragment里的實例如recyclerview對象為null,后臺返回數據時回調導致空指針異常

瀏覽:92日期:2024-08-13 13:08:15

問題描述

手機橫豎屏切換時,fragment狀態丟失,導致子線程請求的數據回調顯示時,報空指針異常,如何解決android - 手機橫豎屏時,fragment里的實例如recyclerview對象為null,后臺返回數據時回調導致空指針異常

android - 手機橫豎屏時,fragment里的實例如recyclerview對象為null,后臺返回數據時回調導致空指針異常

問題解答

回答1:

感覺像是轉屏觸發了重繪,在Manifast里面給當前Activity添加如下屬性試試:android:configChanges='orientation|screenSize'

回答2:

不論是旋轉屏幕還是關閉Activity, 都應該在Fragment#onDestroy()或者Fragment#onDestroyView()時, 取消網絡接口的響應監聽. 否則即便是通過設置android:configChanges解決屏幕旋轉時Activity重建導致App崩潰的問題, 其他場景也還是有幾率讓App崩潰

建議閱讀下Android源碼去了解下以下幾個知識點:

Activity是如何管理Fragment的

Fragment是如何管理View的

Activity & Fragment是如何管理Loader的

另外推薦使用 Retrofit + RxAndroid + RxLifecycle 來實現網絡接口以及調用. 頁面數據管理可以考慮Loader.

国产综合久久一区二区三区