NullPointerException android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState
fragment 加 viewpager做tab的时候容易出这个空指针异常,看源码:
if (f.mSavedViewState != null) { if (result == null) { result = new Bundle(); } result.putSparseParcelableArray( FragmentManagerImpl.VIEW_STATE_TAG, f.mSavedViewState); } if (!f.mUserVisibleHint) { if (result == null) { result = new Bundle(); } // Only add this if it's not the default value result.putBoolean(FragmentManagerImpl.USER_VISIBLE_HINT_TAG, f.mUserVisibleHint); }
不保存状态会进入第二个if抛空指针异常。
在fragment中加入如下代码,bug可解:
@Override public void onSaveInstanceState(Bundle outState) { //first saving my state, so the bundle wont be empty. outState.putString("KEY", "WBUG_VALUE"); super.onSaveInstanceState(outState); }
或者:
class MyFragment extends Fragment { @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); setUserVisibleHint(true); }或者使用FragmentStatePagerAdapter替代 FragmentPageAdapter。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。