Fragment被清除的異常

java.lang.IllegalStateException:Failure saving state: active RecentContactsFragment{46f38ee} has cleared index: -1

當Fragment被系統回收,有沒有對Fragment被回收做保存處理時會出現此異常

解決辦法:

1.系統保留當前的fragment實例

 @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        setRetainInstance(true);
        super.onCreate(savedInstanceState);
       }

2.將Fragment加入到回退棧

fun addFragmengt(fragment: RecentContactsFragment) {
        var transaction = getChildFragmentManager().beginTransaction()
        transaction.replace(R.id.messages_fragment, fragment)
        transaction.addToBackStack("RecentContactsFragment")
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        transaction.commit()
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章