2015-06-17 3 views
3

У меня есть Activity с Fragment, и есть много транзакций, поэтому кнопка назад чаще всего просто откат Fragment transaction. Но мне нужно обнаружить последний задний пресс.Как обнаружить «последний» задний пресс?

Я не могу использовать метод , потому что я не хочу ничего делать, когда пользователь нажимает на него или начинает другое действие.

+0

Превосходное возвращение в ACtivity, а также в Фрагменты .. .. тогда вы можете использовать статическую глобальную переменную, Sharedprefrence, чтобы сохранить последнее обратное нажатие – koutuk

ответ

9

Используйте этот метод getFragmentCount ниже.

Она возвращает количество Fragment если это 0 то ваш в последней задней прессе

private int getFragmentCount() { 
    return getSupportFragmentManager().getBackStackEntryCount(); 
} 

называют этот метод в onBackPressed() вашей Activity

0

Не знаю, если это помогает, но вот код, который нужно поймать, если была нажата кнопка:

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if(keyCode ==KeyEvent.KEYCODE_BACK) 
     { 
      //Do stuff here 
     } 
     return super.onKeyDown(keyCode, event); 
    } 
Смежные вопросы