Фрагменты не заменяются друг другом

Есть активити в котором один элемент - фрагмент. При нажатии на кнопку фрагмент не заменяется другим фрагментом.

Активити:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout        xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity">

            <fragment
                    android:id="@+id/fragment"
                    tools:layout="@layout/fragment_login"
                    android:name="com.orekhov.oneclick.login.LoginFragment"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"/>

</FrameLayout>

Код фрагмента для перехода:

    Fragment fragment = new MenuFragment();
    getFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit();

Ответы (1 шт):

Автор решения: Andrew

Вероятнее всего проблема у вас в этой строке:

getFragmentManager().beginTransaction().replace(R.id.fragment, fragment).commit();

Здесь R.id.fragment нужно использовать id контейнера в котором находятся фрагменты. Нужно добавить в макет контейнер:

<FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

в вашем случае он уже есть, поэтому добавьте к нему id android:id="@+id/container". Дальше используем ваш код, но устанавливаем id контейнера:

getFragmentManager().beginTransaction().replace(R.id.container, fragment).commit();

Вот есть подробный туториал по вашему вопросу.

→ Ссылка