2012-03-03 3 views
3

Я пытаюсь создать приложение для версии 3.0 с использованием фрагментов. В левой части приложения есть статический фрагмент, а с правой стороны - динамический. Каждый из моих фрагментов в динамической части имеет заголовок. Всякий раз, когда я собираюсь заменить исходный фрагмент, заголовок первого по-прежнему отображается над заголовком первого. Последовательные замены заменяют нижнюю часть, но начальный заголовок все еще отображается (извините, что я еще не могу опубликовать изображения).Фрагмент Android не заменяется должным образом

Лучшее, что я могу сделать для изображения:

Initial Заголовок

Новый заголовок

контента (отображает штраф)

main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 
    <fragment 
     android:id="@+id/static_fragment" 
     android:name="ruleout.android.History_Fragment" 
     android:layout_width="500dp" 
     android:layout_height="match_parent" /> 
    <fragment 
     android:id="@+id/dynamic_fragment" 
     android:name="ruleout.android.New_Screen_Fragment" 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" /> 
</LinearLayout> 

Частичное MainActivity используемые для изменения фрагментов

private void open(Fragment toShow) 
{ 
    FragmentTransaction fragmentTransaction = FragMag.beginTransaction(); 
    fragmentTransaction.replace(R.id.dynamic_fragment, toShow); 
    fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.commit(); 
} 

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация и заблаговременно за вашу помощь.

ответ

8

Если вы хотите динамически изменять фрагменты, вы не можете объявить их в своем макете. В Fragment documentation приведен пример того, что я описываю, где макет содержит статический фрагмент, объявленный в нем, и FrameLayout для хранения фрагмента, который будет динамически добавляться и заменяться.

+0

Благодарим за помощь. Он отлично работает. – cren90

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