在PagerAdapter页面上使用Fragment复制ID

时间:2012-03-15 21:06:53

标签: android android-fragments

我遇到了pageradapter和片段的问题。

我有一个PagerAdapter,在每个页面上我想放一个片段。在页面的xml布局上,我使用此代码添加片段:

<fragment android:id="@+id/fragment1"
    android:name="de.worldcup.android.ui.fragments.GroupTableFragment"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

当我运行应用程序时,当它尝试在页面的xml布局中膨胀时,它会尝试在该行实例化第二页PagerAdapter(第二次调用instantiateItem方法)时崩溃。

View v = inflater.inflate(R.layout.group_activity_item, null);

错误:

03-15 21:57:34.795: E/AndroidRuntime(6257): Caused by: java.lang.IllegalArgumentException: Binary XML file line #20: Duplicate id 0x7f050043, tag null, or parent id 0x0 with another fragment for de.worldcup.android.ui.fragments.GroupTableFragment

我查找了id 0x7f050043 - &gt;它是@ + id / fragment1 id。

任何想法如何解决这个问题?

谢谢:)

2 个答案:

答案 0 :(得分:3)

我自己也遇到了同样的问题: “注意:当布局包含a时,您无法将布局扩展为片段。只有在动态添加到片段时才支持嵌套片段。” In the documentation.简而言之,动态创建片段架构以解决问题。

答案 1 :(得分:0)

我遇到了同样的问题。我不认为我们不能在页面中拥有2个具有相同ID的片段。

我做了什么(但我认为它不是最好的解决方案,但它有效): 为具有不同id的每个片段创建一个布局。