2014-02-06 2 views
1

У меня есть много фрагментов и двух видов деятельности, которые являются основным видом деятельности, который содержит все фрагменты. Когда я собираюсь второму действию из любого фрагмента, его работа прекрасна, но после этого я нажимаю кнопку «Назад», чтобы вернуться к моему последнему добавленному фрагменту, в этом случае я выхожу на главный экран. У меня должно быть второе действие, которое я не могу заменить его фрагментом. Как вернуться к последнему фрагменту из активности?Как вернуться к последнему фрагменту активности?

В еще одном случае я, должно быть, пошел в браузер и в браузере, нажав кнопку «Назад», приложение напрямую переходит на главный экран, чтобы предотвратить это?

ответ

0

вы можете использовать:

getSupportFragmentManager().popBackStack(); 
1

Когда вы снова выжимается из второй активности затем onResume() первой активности будет called.So у вас есть управлять он из onResume(), проверяет последний фрагмент в обратном стеке и переместится к этому фрагменту.

Таким образом, вы должны использовать этот код в onResume() первой активность

FragmentManager manager = getSupportFragmentManager(); 
int count = manager.getBackStackEntryCount(); 
if(count>0){ 
    Fragment mfragment = manager.getBackStackEntryAt(count-1); 
    FragmentTransaction ft = fragmentManager.beginTransaction(); 
    ft.replace(R.id.content_frame, mFragment); 
    ft.commit(); 
} 
+0

Привет, Спасибо за ответ, я проверил onResume() первой активность, но при нажатии кнопки назад от второй активности onResume () первого действия не вызывается, а приложение напрямую переходит на главный экран :( – user3279650

+0

, пожалуйста, поделитесь своим кодом, что вы делаете. Потому что, если вы нажмете кнопку «Назад» из Activity B, тогда будет вызван onResume() Activity A, и он будет работать для меня. – Ravi

+0

Привет, Спасибо за ваш ответ, но я не могу поделиться своим кодом, потому что код слишком велик, а активность A содержит 15 фрагментов, и я перехожу к любому фрагменту из любого фрагмента, поэтому мне жаль, и когда я нажимаю back bu tton из активности B, то вызов функции onDestroy() активности A и приложения будет закрыт. – user3279650

Смежные вопросы