搜尋

首頁  >  問答  >  主體

android - 手機橫豎螢幕時,fragment裡的實例如recyclerview物件為null,後台回傳資料時回呼導致空指標異常

手機橫豎螢幕切換時,fragment狀態遺失,導致子執行緒請求的資料回呼顯示時,報空指標異常,如何解決

#
阿神阿神2781 天前1175

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-05-31 10:40:57

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

    回覆
    0
  • 为情所困

    为情所困2017-05-31 10:40:57

    不論是旋轉螢幕還是關閉Activity, 都應該在Fragment#onDestroy()Fragment#onDestroyView()時, 取消網路介面的回應監聽. 否則即使是透過設定and螢幕旋轉時Activity重建導致App崩潰的問題, 其他場景也還是有幾率讓App崩潰

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

    1. Activity是如何管理Fragment

    2. Fragment是如何管理View

    3. Activity & Fragment是如何管理Loader

    另外推薦使用 Retrofit + RxAndroid + RxLifecycle 來實現網路介面以及呼叫. 頁面資料管理可以考慮Loader.

    回覆
    0
  • 取消回覆