У меня есть MainActivity, которая начинает фрагменты, в соответствии с определенной нажатой кнопкой. Когда я нахожусь под фрагментом, и я нажимаю кнопку «Назад», приложение будет закрыто. Моя идея: при нажатии кнопки «Назад» я покажу MainActivity со всей кнопкой. Я пишу эти строки кода в MainActivity:Как переключиться обратно в MainActivity из фрагмента?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
recreate();
}
return super.onKeyDown(keyCode, event);
}
Это хорошее решение? Он работает достаточно хорошо, единственное, что происходит между транзакцией макета фрагмента и макетом действий, есть черный экран менее половины секунды. есть ли способ исправить это?
вы можете поделиться код воссоздавать()? Кроме того, вы можете использовать диспетчер фрагментов для замены фрагментов – droidx
The recreate(); метод доступен Android, это не мое. Могу ли я также перейти от фрагмента к другому фрагменту напрямую? –
Ahh..I только что прочитал о методе recreate..It заставляет эту активность воссоздавать с новым экземпляром. поэтому, это не рекомендуется, да, вы можете общаться с другими фрагментами с помощью интерфейсов. Проверьте эту документацию. http://developer.android.com/training/basics/fragments/communicating.html – droidx