Мне нужно показать анимацию, возвращаясь к предыдущему фрагменту, поэтому я должен использовать метод onBackPressed. Так как это только в комплекте деятельности, я пытался использовать ссылку:Использовать onBackPressed для фрагментов
@Override
onBackPressed(){
super.onBackPressed();
infoFragment.onBackButtonPressed();
}
И в InfoFragment я определил метод onBackButtonPressed, но это не сработало. Так что я попытался так:
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if(i==KeyEvent.KEYCODE_BACK){
MainActivity mainActivity=(MainActivity)getActivity();
mainActivity.loadMainFragment();
return true;
}
return false;
}
});
Итак, почему он не работает?
Первый подход должен работать нормально, но я не думаю, что ему нужен пользовательский прослушиватель кнопки. См. Http://stackoverflow.com/questions/10886669/how-to-reverse-fragment-animations-on-backstack –
'onBackPressed()' принадлежит к активности, а не к фрагменту –
Просто используйте setCustomAnimations с FragmentTransaction. – sswierczek