我有一个浮动对话框的对话框片段,其中包括一个特殊的键盘,当用户在 EditText 字段中按下时弹出(正常的 IME 被停止显示)。
我希望当用户按下后退按钮(就像一个正常的 IME 服务一样)但是对话框仍然可见时,键盘被解除(可见性 = GONE)。然而,就我对 SO 和其他方面的相当广泛的阅读所见,似乎没有一种方法可以做到这一点。
如果我将对话框设置为不可取消,那么我就不会收到 onCancel ()或 onDismiss ()的通知,因为对话框不可取消。
如果我将对话框设置为可取消,那么我会得到通知,但是对话框将被取消。
我无法将 onKeyListener 附加到片段中的对话框,因为它已被系统替换,以便片段能够处理对话框的生命周期。
有什么办法吗?或者为了碎片系统的目的,关键事件检测的访问权限被完全隔离了?