除了这种情况,我的bottomSheet
行为正确。当我通过'返回按钮返回活动时,我希望bottomSheet
崩溃,我认为下面的代码可以解决问题,但它不起作用。可能是什么原因 ? (我通过调试器确认它已到达语句)
@Override
public void onBackPressed() {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
当通过finish()
返回时,同一行正常工作:
if (resultCode == Activity.RESULT_OK) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
答案 0 :(得分:0)
你可以使用这个代码onBackPressed()方法
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
答案 1 :(得分:0)
如果对话框中有setCancelable(true)
,则后退按钮不会触发onbackpressed()
,您可以尝试
我有一个名为BottomSheetFragmentDialog的类,它是从BottomSheetDialogFragment扩展而来的,并且我在setCanceledOnTouchOutside(false)
方法中有onCreateDialog
,也覆盖了onCancel()
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState)
dialog.setCanceledOnTouchOutside(false)
return dialog
}
override fun onCancel(dialog: DialogInterface) {
super.onCancel(dialog)
Toast.makeText(context, "Break Point Here", Toast.LENGTH_SHORT).show()
}