【问题标题】:How to get functionalities of Fragment Activity in other Activity如何在其他 Activity 中获取 Fragment Activity 的功能
【发布时间】:2016-08-04 12:31:43
【问题描述】:

我创建了一个Fragment Activity,它显示Google Map 并执行其他操作。

现在我有了另一个Activity,我想在我的新Activity 中使用Fragment Activity 的所有功能。

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

   <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

很明显,当我将 FragmentActivity 传递给 Activity 时。

请指导我如何重用FragmentActivity

【问题讨论】:

    标签: android android-layout android-fragments android-fragmentactivity


    【解决方案1】:

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

    只是为了完全清楚。您当前的 FragmentActivity 将是基础。实现 A 不会有太大变化,而 B 可能会发生很大变化......

    【讨论】:

    • 非常感谢,您的建议让事情变得非常清楚,我也这样做了。我想使用 Parent Activity 的所有功能,孩子会有一些额外的功能。现在在孩子中,我从父母那里扩展它,但它在布局中没有显示任何内容。我需要对子元素进行哪些更改才能在子布局中显示父元素。
    • @Kirmani88 您需要在 oncreate 中设置内容视图。这将是每个孩子的正确布局,但请记住,如果您引用任何布局,它应该在两者中具有相同的 id,或者您应该引用相同的字段值。
    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多