发布包含共享片段

时间:2018-01-15 21:00:49

标签: android

我在viewpager(A,B,C)中有3个片段。每个片段都包含一个由所有3(D)共享的片段,并包含一个按钮。当我从C传递到B或从B传递到A时,我有以下例外:

android.view.InflateException:二进制XML文件行#0:二进制XML文件行#0:错误膨胀类片段引起:android.view.InflateException:二进制XML文件行#0:错误膨胀类片段引起:java.lang.IllegalArgumentException:二进制XML文件行#0:复制id 0x7f0900c4,标记null或父id 0xffffffff与另一个片段...

我该如何解决?

1 个答案:

答案 0 :(得分:0)

看起来错误在您的ID中#34;重复ID"所以首先要确保你的id是以正确的方式创建的。 现在我将通过代码与您一起实现viewPager片段,因为您可以找到您错过的内容:

创建3个片段A,B,C,每个片段都有指定的布局。

然后您将创建一个适配器以将这些片段附加到viewPager中,如下所示。

<强> MyAdapter.java

public class MyAdapter extends FragmentPagerAdapter {


MyAdapter (FragmentManager fm) {
    super(fm);

}

@Override
public Fragment getItem(int position) {
    switch (position) {
     //here enter a number of n Fragments i.e.(3 Fragments)

        case 2:
            return new FragmentA();
        case 1:
            return new FragmentB();
        case 0:
            return new FragmentC();
        default:
            return null;
    }
}//end getItem

@Override
public int getCount() {
    return 3;
}

<强> MainActivity.xml

<android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

<强> MainActivity.java

mViewPager = findViewById(R.id.viewPager);
    MyAdapter myAdapter = new MyAdapter(getSupportFragmentManager());
    mViewPager.setAdapter(myAdapter);

然后将视图寻呼机附加到您想要的地方......