DrawerLayout mDrawerLayoutTrack;
RelativeLayout mDrawerLlTrack;
我覆盖onBackPressed
,如下所示
@Override
public void onBackPressed() {
if (mDrawerLayoutTrack.isDrawerOpen(mDrawerLlTrack) == false) {
mDrawerLayoutTrack.openDrawer(mDrawerLlTrack);
} else {
super.onBackPressed();
}
}
显示抽屉是否未显示;否则(如果当前显示抽屉)返回。
当抽屉中至少有一个项目时,上述逻辑非常有效。
但如果抽屉和抽屉中没有任何项目显示,如果我按下beck,则onBackPressed
不会被调用。我通过调试(放置断点)并将日志放在方法中进行测试。
日志猫也没有异常或任何内容。
为什么会发生这种情况?
我不想使用onKeyDown或任何其他逻辑。
答案 0 :(得分:0)
把它放在你的代码中
mDrawerLayoutTrack.setFocusableInTouchMode(假);
然后即使抽屉打开也会调用onBackPressed。