У меня в приложении такая проблема. Обратите внимание, что я работаю с фрагментами, и у меня тоже есть ящик.
Это метод в моей MainActivity для открытия / закрытия ящика.
public void drawerInit() {
toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);
drawer = (DrawerLayout) findViewById(R.id.drawer);
view = findViewById(R.id.mainView);
toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
super.onDrawerSlide(drawerView, slideOffset);
float moveFactor = (drawerView.getWidth() * slideOffset);
view.setTranslationX(moveFactor);
}
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}
};
drawer.addDrawerListener(toggle);
toggle.syncState();
}
Пример У меня есть 3 фрагмента (F1, F2, F3). F1 - мой основной фрагмент, где я могу открыть и закрыть ящик. Когда я открываю фрагменты F2 или F3, мне нужно поменять иконку в ящике на стрелку назад. Я делаю эту часть успешно, но проблема в том, что, когда я нажимаю на стрелку назад, открывается навигационный ящик вместо возврата назад. Так как я могу исправить эту часть?
Здесь часть, где я меняю иконку на стрелку назад во фрагменте.
((AppCompatActivity) getActivity()).getSupportActionBar().show();
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);