Quiero agregar un Fragmento a una Actividad que implemente su diseño mediante programación. Revisé la documentación de Fragment pero no hay muchos ejemplos que describan lo que necesito. Aquí está el tipo de código que intenté escribir:
public class DebugExampleTwo extends Activity {
private ExampleTwoFragment mFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout frame = new FrameLayout(this);
if (savedInstanceState == null) {
mFragment = new ExampleTwoFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(frame.getId(), mFragment).commit();
}
setContentView(frame);
}
}
...
public class ExampleTwoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
Button button = new Button(getActivity());
button.setText("Hello There");
return button;
}
}
Este código se compila pero se bloquea al inicio, probablemente porque mi FragmentTransaction.add()
es incorrecto. ¿Cuál es la forma correcta de hacer esto?
ft.add(android.R.id.content, newFragment)
. Solo es necesario crear un diseño personalizado y configurar su id si el contenedor del fragmento no es la vista de contenido de la actividad.