最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android getActivity()為空的問題解決辦法

 更新時間:2017年07月21日 14:19:51   投稿:lqh  
這篇文章主要介紹了Android getActivity()為空的問題解決辦法的相關資料,導致apk空指針崩潰問題,很嚴重的問題,為了解決這問題,上網搜索了很多資料,需要的朋友可以參考下

Android getActivity()為空的問題解決辦法

  在開發(fā)項目中有時會碰到getActivity函數(shù)為空的情況,    導致apk空指針崩潰問題,  看代碼邏輯沒有明顯的原因。

       如果看Activity.Java、FragmentActivity.java的源碼就可以找到原因。 當activity實例在后臺時, 系統(tǒng)在回收資源時很可能回收掉Activity,  并在onSaveInstanceState函數(shù)里保存fragment的狀態(tài), 再次打開該Activity時, 在onCreate方法里取出bundle里的fragment狀態(tài), 但這時fragment對應的Activity早就不在了, 所以getActivity為空。

摘自FragmentActivity.java:       

 protected void onCreate(Bundle savedInstanceState) {
         .......
         if (savedInstanceState != null) {
             Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
             mFragments.restoreAllState(p, nc != null ? nc.fragments : null);
         }

         mFragments.dispatchCreate();
     }

     protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        Parcelable p = mFragments.saveAllState();
       if (p != null) {
          outState.putParcelable(FRAGMENTS_TAG, p);
        }
     }

從源碼可以看出解決方案: 1、  覆蓋onSaveInstanceState函數(shù), 不保存到bundle; 2、  覆蓋onCreate方法, 刪除FRAGMENTS_TAG參數(shù)。(注意:Activity和FragmentActivity對FRAGMENTS_TAG的定義不同

     例如: 

public class TestActivity extends FragmentActivity {     
       @Override
       protected void onCreate(Bundle savedInstanceState) {
           if (savedInstanceState != null) {
               savedInstanceState.remove("android:support:fragments");  //注意:基類是Activity時參數(shù)為android:fragments, 一定要在super.onCreate函數(shù)前執(zhí)行?。?!
           }
           super.onCreate(savedInstanceState);
          ...
       }

       //或者
       protected void onSaveInstanceState(Bundle outState) {
           //super.onSaveInstanceState(outState);  //注釋掉該方法, 即不保存狀態(tài)
       }
   

以上就是Android getActivity()為空的問題解決辦法的講解,如有疑問請大家留言或到本站社區(qū)討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:

相關文章

最新評論

时尚| 平定县| 嵊州市| 壤塘县| 东乌珠穆沁旗| 合山市| 望谟县| 鄄城县| 南涧| 长子县| 嘉禾县| 大英县| 洛扎县| 明溪县| 斗六市| 青河县| 铁岭县| 玛纳斯县| 灵璧县| 鸡泽县| 鲁山县| 西城区| 南涧| 三河市| 宁乡县| 榆林市| 阿城市| 祁阳县| 隆回县| 年辖:市辖区| 牟定县| 津市市| 沅江市| 得荣县| 永宁县| 长春市| 汝城县| 讷河市| 大宁县| 榕江县| 子洲县|