Estoy desarrollando una aplicación que contiene 2 fragmentos y quiero mostrar ocultar según mi necesidad. El siguiente código tiene un ejemplo simple de mi problema. Esta sencilla actividad de fragmentación contiene 1 botón y un fragmento de lista.
Este sencillo ejemplo funciona a la perfección. pero no estoy satisfecho con mostrar el fragmento de ocultar. Si elimina layout.setVisibility (View.GONE); del código luego ft.hide (f); no ocultará fragmentos. De hecho, no estamos escondiendo un fragmento, sino un contenedor.
Mi pregunta es, ¿ES esta una forma de mostrar fragmentos ocultos? Si no es así, explique con el ejemplo probado cómo ocultar y mostrar fragmentos porque muchas personas se enfrentan a este problema.
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
}