我已經搜索了關於如何替換viewPager中片段的其他答案,但無濟於事。在ViewPager中替換片段 - 獲取NPE
設置是通常的,我有2個片段。
[片段1] [Fragment2]
操作欄中我有在覆蓋模式(谷歌搜索)開始一個新的意圖的搜索按鈕,然後在onActivityResult我想用新片段替換當前片段。
我有SearchFragment完成,它的工作原理如果我將它作爲第三個片段添加到選項卡中。不過,我只想用新的搜索片段替換Fragment2。
我有一個可以幫助的sectionsPagerAdapter類。
所以,當我點擊搜索按鈕的動作條我)這個代碼在onActivityResult(射擊
SearchFragment searchFragment = new SearchFragment();
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction().replace(R.id.container, searchFragment)
.addToBackStack(null)
.commit();
但是用錯誤的應用程序崩潰:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.example.app/com.example.MainActivityTabs}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at com.example.MainActivityTabs.onActivityResult(MainActivityTabs.java:168)
168是.commit( );
如果按下按鈕時我有片段事務觸發,它至少不會崩潰,但會清除分頁器中的兩個片段。所以我認爲那裏有兩個問題。
感謝
添加您的查看尋呼機和適配器代碼 – USKMobility
p在'onactivityResult()'中使用你的完整代碼 –
'使用一些視圖或處理程序來發布可運行程序,並在該可運行的程序中執行該任務。像:'new Handler()。post(new Runnable(){});' –