如何在Android上正确关闭底部表单?
我在关闭如何在Android上正确关闭底部表单?,android,keydown,onkeydown,bottom-sheet,Android,Keydown,Onkeydown,Bottom Sheet,我在关闭底页时遇到问题,我设置了KeyEvent.Keycode\u BACK,并检查底页是否未打开,是否已打开。我没有Collapse设置app:peekHeight=0dp仅展开 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode){ case KeyEvent.KEYCODE_BACK: if (bottomSheetBehav
底页时遇到问题,我设置了KeyEvent.Keycode\u BACK
,并检查底页是否未打开,是否已打开。我没有Collapse
设置app:peekHeight=0dp
仅展开
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode){
case KeyEvent.KEYCODE_BACK:
if (bottomSheetBehavior.getState() != BottomSheetBehavior.STATE_HIDDEN) {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
break;
}else if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_HIDDEN){
startActivity(new Intent(ShareMainActivity.this, MainActivity.class));
finish();
}
break;
}
return super.onKeyDown(keyCode, event);
}
当returntrue
时,它会工作,但会继续返回到我的MainActivity,就像我没有else
语句一样。我甚至在上面写了break
我所想的是,由于它将在第一次按键时关闭,它应该首先退出底页
(打开),然后在第二次按键时进入我的main活动
单击外部的视图
会隐藏底页
,返回到我的main活动
我试图通过调试跟踪错误,它告诉我错误-与字节码不匹配
如果您不想支持Android 2.0之前的版本,您可以简单地覆盖onBackPressed()。API 5中添加的onBackPressed()源代码与字节码不匹配。
通常表示您在安装/启动应用程序后编辑了代码。只需再次运行调试就可以修复它。@Aravindraj-我有两个OnKeyDown
和onBackPress
似乎都有相同的行为。它将退出我的应用程序。