0

我创建了Fragment Activity,它显示Google Map并做其他的事情。如何获得其他活动中片段活动的功能

现在我有另外一个Activity,我想将Fragment Activity的所有功能用到我的新Activity中。

如果我有片段,我会很容易地在我的新布局中使用它,如下所示。

<fragment 
     android:id="@+id/calendarFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.activities.fragments.HeaderFragment" 
     tools:layout="@layout/header_fragment" /> 

但现在我使用FragmentActivity,我不能用上述代码,如果我使用它,它给了我下面的错误消息

Caused by: java.lang.ClassCastException 

,并很明显,当我路过FragmentActivityActivity

请指导我如何重用FragmentActivity

回答

1

一个简单的方法是使用继承。基本上以1 FragmentActivity为基础,然后制作实现A(你已经拥有),它扩展了FragmentActivity,然后制作实现B,这也扩展了它,但是做了一些不同的事情。这一切都取决于你想重复使用多少...

只是为了使其完全清楚。您当前的FragmentActivity将成为基础。实施A不会变化很大,而B可能会改变很多......

+0

非常感谢,你的建议让事情变得非常清楚,我做了同样的事情。我想使用家长活动的所有功能,孩子会有一些额外的功能。现在在孩子,我从父母扩展它,但它没有在布局中显示。我需要做些什么改变才能在子布局中显示父元素。 – Kirmani88

+0

@ Kirmani88你需要在oncreate中设置内容视图。这将适合每个孩子的不同布局,但请记住,如果您引用任何布局,它们应该在两者中都具有相同的ID,或者您应该引用相同的字段值。 – Warpzit

+0

非常感谢:) – Kirmani88