2015-08-19 5 views
3

Я хочу использовать onBackPressed() во Фрагменте, чтобы вернуться к его активности, когда я нажимаю кнопку «Назад», но я не знаю, как это сделать. Я не могу переопределить onBackPressed() в Fragment, потому что таких методов нет. Может ли кто-нибудь мне помочь?Как переопределить onBackPressed() в фрагменте

+0

Похожие пост решена [здесь] (https://stackoverflow.com/a/46425415/6831069) Наслаждайтесь –

ответ

0

Просто переопределите onBackButton() в своей деятельности. Обнаружить, отображается ли фрагмент в данный момент и отделить его от вашей активности. Я думаю, вы можете получить фрагмент по тегу или что-то в этом роде.

+0

Я хочу, чтобы нажать кнопку назад, чтобы поддержать активность из фрагмента, я .'addToBackStack() ', то поп когда я нажимаю, но не работаю –

+0

Вместо этого используйте FragmentManager.beginTransaction.remove (Fragment). Обратите внимание, что это НЕ правильный синтаксис для вызова метода. – StG

0

Фрагмент - это часть деятельности, просто управляйте обратным ключом в действии, управлять своими фрагментами в действии должно быть хорошо.

+0

Я хочу, чтобы щелкнуть кнопку «назад», чтобы вернуться к активности из фрагмента, i .'addToBackStack() «а затем поп, когда я нажимаю, но не работаю –

0

Вам необходимо переопределить onBackPressed() в вашей деятельности.

@Override 
    public void onBackPressed() { 
    YourFragment mYourFragment = (YourFragment)getFragmentManager().findFragmentByTag(YourFragment.TAG); 
    if(mYourFragment!=null){ 
    // Your Code 
    } 
+0

Я пытаюсь, я хочу нажать кнопку« Назад », чтобы вернуть активность из фрагмента, i .'addToBackStack () 'then pop, когда я нажимаю, но не работаю –