DialogFragment-->java.lang.Il

2016-06-16  本文已影响1122人  苏简笔记

快速双击调用FragmentTransaction.add()方法添加fragment,而fragment不是每次单独生成的,就会引起这个异常。

DialogFragment.show()内部调用了FragmentTransaction.add()方法,所以调用DialogFragment.show()方法时候也可能会出现这个异常。

在add()方法时候,先判断fragmentA.isAdded(),如下调用可以避免该异常:

if(!fragmentA.isAdded()){
                FragmentManager manager = ((FragmentActivity)context).getSupportFragmentManager();
                FragmentTransaction ft = manager.beginTransaction();
                ft.add(fragmentA, "fragment_name");
                ft.commit();
}
上一篇 下一篇

猜你喜欢

热点阅读