原文地址:http://blog.csdn.net/u012987382/article/details/46984053
现象
异步调用两个接口,公用一个加载进度框(DialogFragment),前一个加载框未dismiss,后一个已经开始 show。就会以出现 “Fragment already added” 运行时异常。
解决方法
在显示 Fragment 之前,判断之前的 Fragment 是否处于显示状态。
1 | if(!mDialogFragment.isAdded() |
说明
1 | public final boolean isAdded() |
如果该 Fragment 对象被添加到了它的 Activity 中,那么它返回 true,否则返回 false。
1 | public final boolean isRemoving() |
如果当前的 Fragment 对象正在从它的 Activity 中被删除,那么就返回 true。这个删除过程不是该 Fragment 对象的 Activity 的结束过程,而是把 Fragment 对象从它所在的 Activity 中删除的过程。
1 | public final boolean isVisible() |
如果该 Fragment 对象对用户可见,那么就返回 true。