Показать скрыть фрагмент в Android

Я разрабатываю приложение, которое содержит 2 фрагмента, и я хочу показать скрыть в соответствии с моими потребностями. Следующий код имеет простой пример моей проблемы. Эта простая Fragmentactivity содержит 1 кнопку и один фрагмент списка.

Этот простой пример работает безупречно. но я не доволен показом скрыть фрагмент. Если вы удалите layout.setVisibility (View.GONE); из кода затем ft.hide (f); не будет скрывать фрагмент. На самом деле мы не скрываем фрагмент, мы скрываем контейнер.

Мой вопрос, это способ показать фрагменты скрытия? Если нет, то объясните на протестированном примере, как скрыть и показать фрагменты, потому что многие люди сталкиваются с этой проблемой.

 public class MainActivity extends FragmentActivity implements OnClickListener {

        Fragment1 f;
        Button b;
        LinearLayout layout;
        Fragment myf;
        @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            b = (Button) findViewById(R.id.button1);
            layout = (LinearLayout) findViewById(R.id.ll);
            f = new Fragment1();
        }

        @Override
        public void onClick(View v) {

            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);

            if (f.isHidden()) {
                ft.show(f);
                layout.setVisibility(View.VISIBLE);
                b.setText("Hide");
            } else {
                ft.hide(f);
                b.setText("Show");
                layout.setVisibility(View.GONE);
            }
            ft.commit();
            // TODO Auto-generated method stub
        }

Ответы на вопрос(6)

Ваш ответ на вопрос