我都是新来的Android开发,但已经很大的麻烦。我在这里和其他网站上阅读了几个关于类似问题或甚至相同问题的线索。但是我发现的所有答案都不符合我的需求,或者根本不适合我。Android - 重新膨胀一个片段导致“错误膨胀类的片段”
所以,这是事情。我有一个自制的“菜单”图层,包括活动底部的3个按钮和上面的ScrollView。现在上点击这些按钮中的一个I简单地使用
svContent.removeAllViews();
getLayoutInflater().inflate(R.layout.fragment_xyz, (ScrollView) findViewById(R.id.svContent));
其被充气完全正常充气一个片段插入到滚动型。
现在膨胀的片段包含Google Maps(API 2)的另一个片段,看起来像这样。
<fragment
android:id="@+id/fMap"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="fill_parent"
android:layout_height="150dp" />
此片段也填充了我想对其父片段的通货膨胀和地图工作正常的方式。
现在我点击另一个菜单按钮来让另一个片段被充气。但就当我再次点击第一个片段的按钮,我得到以下错误:
Duplicate id xxxxx, tag null, or parent id xxxxx with another fragment for com.google.android.gms.maps.MapFragment
就像我说的,我已经尝试了几种解决方案,我在网上找到的,包括
- 从延伸片段移动使用,而不是片段
- 充气子片段SupportMapFragment FragmentActivity
- 从代码,而不是XML(谷歌地图的一个)
所有这些有几个缺点,我不能在此刻接受(至少我认为)或“没有工作”为我或我的星座
任何帮助是极大的赞赏。如果您需要更多信息,请告诉我。
问候, D.
为什么你“无法接受”通过代码创建片段?这是4行代码,它不会改变任何东西,它会完美地工作。 – 2014-09-12 21:31:24
尝试移动到另一个星座。仙女座......也许? – Emmanuel 2014-09-12 21:33:19
@StephaneMathis从代码中创建片段是我完全可以接受的,但不幸的是,它不适合我 - 至少不是我在查看api文档时找到的示例。我不记得我用过它的确切问题,在过去的两天里,我只是在解决方案上尝试过很多次。但我当然可以再试一次,你有没有过时的工作例子? – tetzlaff 2014-09-12 21:38:18