2015-08-26 2 views
3

Я хочу добавить фрагмент к существующему фрагменту нажатием кнопки (кнопка находится на родительском фрагменте), но я получаю сообщение об ошибке: java.lang.ClassCastException: должен реализовать OnFragmentInteractionListener.Как добавить фрагмент в существующий фрагмент динамически?

Что это значит и почему ни один из примеров не имеет этого?

Родитель кнопка фрагмент пресс-код:

Button interestedButton = (Button) myFragmentView.findViewById(R.id.interestedButton); 
interestedButton.setOnClickListener(new View.OnClickListener() { 
    InterestedFormFragment interestedFormFragment = new InterestedFormFragment(); 
    @Override 
    public void onClick(View v) { 
     FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction().add(R.id.interestedFrag_container, interestedFormFragment, "INTERESTED_FORM"); 
     fragmentTransaction.commit(); 
    } 
}); 

Родитель фрагмент XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="#FFFFFF" 
android:layout_gravity="bottom" 
android:id="@+id/buildingPageId"> 

<LinearLayout 
    android:orientation="vertical" 
    android:id="@+id/interestedFrag_container" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
... 

"interestedFrag_container" должен держать вновь добавленный фрагмент ребенка.

Мой родительский фрагмент isinflated и удерживайте кнопку, которая должна добавить ребенка. Что мне здесь не хватает? Спасибо!

+0

Вложенный фрагмент добавляется только с API 17. Какой API вы используете для таргетинга? –

+0

Я думаю, что вы задали свой вопрос :) Если поддержка от API17 и выше, мне придется настроить таргетинг API17 или использовать вложенные фрагменты. Спасибо за вопрос. – KasparTr

+0

Если он решил вашу проблему, я могу написать ее как ответ :) –

ответ

1

Уплотненный фрагмент добавляется только с API 17.

Вы можете использовать getChildFragmentManager() для управления вложенных фрагментов.

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