愈浩明,来力杯台球宝贝,李敏镐6.15
我出现这个异常的原因比较坑,viewpager持有的firstfragment内部需要维护三个fragment,所以内部也需要用到fragmentmanager,用于在setuservisiblehint方法里获取了fragmentmanager的实例,导致上级fragment的mchildfragmentmanager 这个实例被赋值,进入了不改进入的分发逻辑。
fragment.java
@callsuper public void oncreate(@nullable bundle savedinstancestate) { mcalled = true; restorechildfragmentstate(savedinstancestate); if (mchildfragmentmanager != null && !mchildfragmentmanager.isstateatleast(fragment.created)) { mchildfragmentmanager.dispatchcreate(); } }
而这个mchildfragmentmanager没有绑定对应的宿主host所以报了crash
fragmentmanager.java
void movetostate(int newstate, boolean always) { if (mhost == null && newstate != fragment.initializing) { throw new illegalstateexception("no activity"); } if (!always && newstate == mcurstate) { return; } mcurstate = newstate;
遇到同样问题的同学可以看看自己获取fragmentmanager的地方是否合理。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio 解决logcat无过滤工具栏的操作
Android Studio 恢复小窗口停靠模式(Docked Mode)
Android studio保存logcat日志到本地的操作
Android Studio快捷键生成TAG、Log.x日志输出介绍
网友评论