Я использую новый AppCompatActivity
, представленный в библиотеке AppCompat
версии 22.1.
Когда я расширяю эту активность, кнопка возврата оборудования больше не выталкивает задний стек моих фрагментов, вместо этого закрывает действие.
Вот как я изменяю фрагменты в своей деятельности:
public void changeFragment(Fragment f) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_holder, f);
ft.addToBackStack(null);
ft.commit();
}
Если я изменяю MainActivity extends AppCompatActivity
на MainActivity extends Activity
, проблема исчезает, и я могу вернуться назад через свои фрагменты.
Изменение вызовов на getFragmentManager()
до getSupportFragmentManager()
приводит к появлению устройств под управлением Android < 5.0, потеряв тему Material, что было основной причиной внедрения AppCompatActivity
в первую очередь.
Стиль, указанный в моем манифесте <application android:theme="@style/AppTheme">
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/primary_material_light</item>
<item name="colorPrimaryDark">@color/primary_dark_material_light</item>
<item name="colorAccent">@color/accent_material_light</item>
</style>