android – 当布局不为空时得到“java.lang.IllegalStateException:片段已经激活”

前端之家收集整理的这篇文章主要介绍了android – 当布局不为空时得到“java.lang.IllegalStateException:片段已经激活”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有3个片段的活动和寻呼机.我使用标签进行切换.
当我点击某个按钮时,我想用新的替换fragment0.
仅当fragment0具有空布局时才有效.如果我在fragment0的布局中设置一些内容(必须有listview)抛出异常:

java.lang.IllegalStateException: Fragment already active
    at android.support.v4.app.Fragment.setInitialSavedState(Fragment.java:503)
    at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(FragmentStatePagerAdapter.java:110)
    at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649)

我使用以下布局:

活动:

public class Activity extends FragmentActivity {

    private List

应用程序抛出异常在线

this.notifyDataSetChanged();

如果布局不为空.

我找不到解决方法如何避免此异常并正确替换片段.

EDITED

https://android.googlesource.com/platform/frameworks/support/+/jb-mr1-dev/v4/java/android/support/v4/app/Fragment.java

正如我检查的Fragment类包含以下方法

public void setArguments(Bundle args) {
    if (mIndex >= 0) {
        throw new IllegalStateException("Fragment already active");
    }
    mArguments = args;
}

也许我添加片段的方式不正确..

最佳答案
这是添加片段的错误逻辑.可以在这里找到良好的工作解决方案:correct answer

猜你在找的Android相关文章