0

Я создал Fragment Activity, Он отображает Google Map и выполняет другие действия.Как получить функциональность Фрагмент Деятельность в других видах деятельности

Теперь у меня есть еще Activity, я хочу использовать все функции Fragment Activity в своем новом 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

ответ

1

Один простой способ будет использовать наследование. В основном сделайте 1 FragmentActivity в качестве базы, а затем выполните реализацию A (которая у вас уже есть), которая расширяет FragmentActivity, а затем выполняет реализацию B, которая также расширяет ее, но делает некоторые вещи по-другому. Все зависит от того, сколько вы хотите повторно использовать ...

Просто, чтобы сделать его полностью понятным. Ваш текущий FragmentActivity станет базой. Реализация A не изменится очень сильно, в то время как B может сильно измениться ...

+0

Большое спасибо, ваш совет делает все очень ясно, я сделал то же самое. Я хочу использовать все функции родительской активности, у ребенка будут дополнительные функции. Теперь в дочернем я расширяю его от родителя, но он ничего не отображает в макете. Какие изменения мне нужно сделать в child для отображения родительских элементов в дочернем макете. – Kirmani88

+0

@ Kirmani88 вам нужно установить контекстное представление в oncreate. Это будет по-разному макет для каждого ребенка, но помните, если вы ссылаетесь на какой-либо макет, он должен иметь одинаковый идентификатор в обоих случаях, или вы должны ссылаться на одно и то же значение поля. – Warpzit

+0

Спасибо большое :) – Kirmani88

Смежные вопросы