我已经搜索了关于如何替换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(){});' –