Detect back button but don't dismiss dialogfragment

后端 未结 9 1174
时光取名叫无心
时光取名叫无心 2020-11-30 02:00

I have a dialogfragment for a floating dialog which includes a special keyboard that pops up when a user presses inside an EditText field (the normal IME is stopped from bei

9条回答
  •  北海茫月
    2020-11-30 02:39

    How has no one suggested this?

    public Dialog onCreateDialog(Bundle savedInstanceState) {
      Dialog dialog = super.onCreateDialog(savedInstanceState);
    
      // Add back button listener
      dialog.setOnKeyListener(new Dialog.OnKeyListener() {
        @Override
        public boolean onKey(DialogInterface dialogInterface, int keyCode, KeyEvent keyEvent) {
          // getAction to make sure this doesn't double fire
          if (keyCode == KeyEvent.KEYCODE_BACK && keyEvent.getAction() == KeyEvent.ACTION_UP) {
            // Your code here
            return true; // Capture onKey
          }
          return false; // Don't capture
        }
      });
    
      return dialog;
    }
    

提交回复
热议问题