2015-03-28 3 views
0

Я использую навигационный ящик в моем MainActivity.java для переключения фрагментов, и я также расширяю свою MainActivity на другие действия в своем приложении. Теперь проблема заключается в том, что когда я нажимаю кнопку «Назад» во время фрагмента, приложение неожиданно выходит без уведомления. И если я использую OnBackPressed в моей MainActivity, это будет использовано для других действий, распространяющих основную активность, и когда я нажимаю кнопку «Назад» на любую из этих возможностей, она сначала запрашивает у меня подтверждение, а затем возвращается к предыдущей активности или фрагменту. Нужно решение, чтобы избежать этого. Я хочу установить onbackpessed или что-нибудь, что показывает диалог, или просит подтверждения выхода из приложения только на фрагменты, но не знаю, как это сделать.Выдвигатель ящика Android на выходе нажат

Или любая помощь, связанная с укладкой фрагментов, чтобы открыть фиксированный фрагмент на нажатой кнопке назад, приветствуется, если он сообщает, как изменить заголовок, следовательно, открытый фрагмент тоже.

ответ

0

вызов onBackPressed() в той деятельности, в которой вы поставили все фрагмент или основную деятельность

@Override 
    public void onBackPressed() { 
     if (getFragmentManager().getBackStackEntryCount() == 0) { 
      //Display your dialog here 
     } else { 
      getFragmentManager().popBackStack(); 
     } 
    } 

Другое решение

@Override 


    public void onBackPressed() { 
      if (slidingMenu.isMenuShowing()) { 
       slidingMenu.toggle(true); 
      } else { 
       super.onBackPressed(); 
       //Display your dialog 
      } 
     } 

Это работает для меня.

+0

Простые бхай, я уже пробовал это и упомянул в querry тоже. Но я не хочу, чтобы возвращение назад или другие действия расширяли основную деятельность. –

+0

Но в вашем вопросе вы написали «Я хочу установить onbackpessed или что-нибудь, что показывает диалог или запрашивает подтверждение для выхода из приложения» –

+0

да, но только для фрагментов в навигационном ящике, а не для действий, расширяющих MainActivity. –