Фрагменты не заменяются друг другом
Есть активити в котором один элемент - фрагмент. При нажатии на кнопку фрагмент не заменяется другим фрагментом.
Активити:
<?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();
Вот есть подробный туториал по вашему вопросу.