2013-04-24 3 views
0
case R.id.section: 
int orientation = getResources().getConfiguration().orientation; 
FrameLayout FragmentContainer = (FrameLayout) findViewById(R.id.FragmentContainer); 

switch (orientation) { 
case Configuration.ORIENTATION_LANDSCAPE: 
    if (FragmentContainer.getVisibility() == View.VISIBLE) { 
     getSupportFragmentManager().beginTransaction().remove(new FragmentOne()).commit(); 
    } else { 
     getSupportFragmentManager().beginTransaction().add(R.id.FragmentContainer, new FragmentOne()).commit(); 
    } 
    break; 

case Configuration.ORIENTATION_PORTRAIT: 
    if (FragmentContainer.getVisibility() == View.VISIBLE) { 
     getSupportFragmentManager().beginTransaction().remove(new FragmentTwo()).commit(); 
    } else { 
     getSupportFragmentManager().beginTransaction().add(R.id.FragmentContainer, new FragmentTwo()).commit(); 
    } 
    break; 
} 

Я пытаюсь удалить/добавить фрагменты на основе видимости моего framelayout, но когда я нажимаю на пункт меню, ничего не происходит ...Android: Скрыть/показать или добавить/удалить фрагменты

Ниже представлен мой формат фрейма, определенный в XML.

<FrameLayout 
     android:id="@+id/FragmentContainer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="gone" 
    /> 

Я пробовал и add and replace методы фрагмента.

+0

Вы получаете какие-либо ошибки? –

+0

@AndroidAddict: no, я надеюсь, что я делаю правильный путь ... – theJava

+0

Является ли ваше мероприятие в меню? –

ответ

2

framelayout имеет android:visibility="gone". В коде я не вижу FragmentContainer.setVisibility(View.VISIBLE);

Просто внести изменения в оба ваших если/другое ... Условия работы

if (FragmentContainer.getVisibility() == View.VISIBLE) { 
    getSupportFragmentManager().beginTransaction().remove(new FragmentOne()).commit(); 
    FragmentContainer.setVisibility(View.GONE); 
    } else { 
    getSupportFragmentManager().beginTransaction().add(R.id.FragmentContainer, new FragmentOne()).commit(); 
    FragmentContainer.setVisibility(View.VISIBLE); 
} 
Смежные вопросы