Я застрял на этом в течение нескольких дней. У меня есть активность. Я реализовалOnBackPressed вызывает только второе нажатие
@Override
public void onBackPressed() {
Log.e("TEST", "Pressed back");
mAdapter.back();
}
Раскладка вид пейджера и у меня есть FragmentStatePagerAdapter я расширенное управление этим. У меня есть вкладки, и я хотел управлять их историей, поэтому я реализовал логику истории, как описано в https://stackoverflow.com/a/17832632/3821037. Он работает нормально, но по какой-то причине после того, как я нажму, чтобы изменить вкладку и нажать кнопку андроида назад, первый раз, когда я нажимаю, не регистрируется - он не вызывает действие OnBackPressed. Второй звонок работает отлично. Кто-нибудь знает, к чему идет первое событие? Я должен сказать, что я никогда не покидаю такую же деятельность. я могу также увидеть первое событие регистрируется
05-20 12:44:17.952: I/ViewRootImpl(22749): ViewRoot's KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_BACK, scanCode=0, metaState=0, flags=0x48, repeatCount=0, eventTime=8406029, downTime=8406029, deviceId=-1, source=0x101 } to com.android.internal.policy.impl.PhoneWindow$DecorView{428bba20 V.E..... R....... 0,0-1080,1776}
Но я не уверен, какой объект получает (я также пытался добавить слушателя на представлении фрагмента и ViewPager, а также все родители корневой вид активности - ничего не получает).
спасибо.