Cambio entre fragmentos en una sola actividad

Quiero crear unActivity que muestra una especie de menú por el que un usuario puede pasar. Al hacer clic en un elemento, se muestra una nueva pantalla, que permite al usuario más opciones (como asistente).

Quería implementar esto usandoFragments, pero no está funcionando para mí.
Ahora mismo tengo:

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/main_fragmentcontainer" >

    <fragment
        android:id="@+id/mainmenufragment"
        android:name="com.myapp.MainMenuFragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <fragment
        android:id="@+id/secondmenufragment"
        android:name="com.myapp.SecondMenuFragment"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>

MainMenuFragment con unOnClickListener:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.mainmenu, container, false);

    setupButton(view);
    return view;
}

/* Button setup code omitted */

@Override
public void onClick(View v) {
    SherlockFragment secondRunMenuFragment = (SherlockFragment) getSherlockActivity().getSupportFragmentManager().findFragmentById(R.id.secondmenufragment);
    FragmentTransaction transaction = getSherlockActivity().getSupportFragmentManager().beginTransaction();

    transaction.replace(android.R.id.content, secondMenuFragment); //also crashes with R.id.main_fragmentcontainer
    transaction.addToBackStack(null);
    transaction.commit();
}

Ahora cuando presiono el botón, la aplicación falla con este logcat:

06-27 01: 45: 26.309: E / AndroidRuntime (8747): java.lang.IllegalStateException: No se puede cambiar el ID de contenedor del fragmento SecondMenuFragment {405e2a70 # 1 id = 0x7f060029}: era 2131099689 ahora 2131099687
06-27 01: 45: 26.309: E / AndroidRuntime (8747): en android.support.v4.app.BackStackRecord.doAddOp (Fuente desconocida)
06-27 01: 45: 26.309: E / AndroidRuntime (8747): en android.support.v4.app.BackStackRecord.replace (Fuente desconocida)
06-27 01: 45: 26.309: E / AndroidRuntime (8747): en android.support.v4.app.BackStackRecord.replace (Fuente desconocida)
06-27 01: 45: 26.309: E / AndroidRuntime (8747): en com.myapp.MainMenuFragment $ MyButtonOnClickListener.onClick (MainMenuFragment.java:52)

¿Qué estoy haciendo mal?

Respuestas a la pregunta(3)

Su respuesta a la pregunta