gpt4 book ai didi

android - 检测后退按钮但不关闭对话框 fragment

转载 作者:IT老高 更新时间:2023-10-28 13:21:57 26 4
gpt4 key购买 nike

我有一个 float 对话框的对话框 fragment ,其中包括一个特殊键盘,当用户在 EditText 字段内按下时会弹出一个特殊键盘(正常的 IME 停止显示)。

我希望在用户按下后退按钮(就像使用普通 IME 服务一样)时关闭键盘(可见性 = GONE),但对话框保持可见。但是,从我对 SO 和其他地方的相当广泛的阅读中可以看出,似乎没有办法做到这一点。

如果我将对话框设置为不可取消,则 onCancel() 或 onDismiss() 不会通知我,因为对话框不可取消。

如果我将对话框设置为可取消,我会收到通知,但对话框会被关闭。

我无法将 onKeyListener 附加到 fragment 中的对话框,因为它已被系统替换,以便 fragment 可以处理对话框的生命周期。

有没有办法做到这一点?或者是否为了 Fragment 系统的目的而完全隔离了对关键事件的检测?

最佳答案

最好和最干净的方法是在您在 onCreateDialog() 中创建的对话框中覆盖 onBackPressed()。

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new Dialog(getActivity(), getTheme()){
@Override
public void onBackPressed() {
//do your stuff
}
};
}

关于android - 检测后退按钮但不关闭对话框 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com