长按菜单按钮可关闭Android 2.3上的对话框

长按菜单按钮可关闭Android 2.3上的对话框,第1张

概述我们创建了一个可用于对话框的android库.在我们体验过的带有Android2.3.6的SamsungGalaxyS1PlusI9005上进行测试后,长按设备菜单按钮会立即关闭活动对话框.我什至不知道长按该按钮的目的.对于不知道设备的人,此图片应显示您的意思:在运行Android4.x的设备上不会发生此问题.我

我们创建了一个可用于对话框的android库.在我们体验过的带有Android 2.3.6的Samsung galaxy S1 Plus I9005上进行测试后,长按设备菜单按钮会立即关闭活动对话框.我什至不知道长按该按钮的目的.
对于不知道设备的人,此图片应显示您的意思:

在运行AndroID 4.x的设备上不会发生此问题.我在运行AndroID 4.1.2的Samsung galaxy S3甚至带有AndroID 4.0.3自定义ROM的galaxy S1上进行了测试-没问题.

为了禁止关闭对话框,我尝试覆盖onKeyDown,onKeyUp,onPrepareOptionsMenu和其他似乎相关的方法,但是这些方法都没有带来成功或任何有价值的信息.当我尝试调试这些方法时,也会发生同样的情况,因为在调试器到达我可以覆盖的任何方法之前,对话框就消失了.

对话框是通过以下方式创建的:

@OverrIDepublic Dialog onCreateDialog(final int pID) {    Dialog dialog;    switch (pID) {        case LOADING_DIALOG:            dialog = DialogCreator.createLoadingDialog(MyActivity.this));            break;        default:            dialog = null;    }    super.onCreateDialog(pID);    return dialog;}

DialogCreator只是通过使用以下方法创建AlertDialog:

new AlertDialog.Builder(pContext).create();

为了防止对话框被取消,我添加了:

alertDialog.setCanceledOntouchOutsIDe(false);alertDialog.setCancelable(false);

有人知道为什么要关闭对话框吗?

编辑

在“桌面”上时,长按菜单按钮可启动Google搜索.

解决方法:

@QQQestions的答案帮助我解决了这个问题.您应该使用OnKeyListener拦截菜单按钮的长按事件.

编辑

if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) { return true; // Pretend we processed it} else if (keyCode == KeyEvent.KEYCODE_MENU && event.getRepeatCount() == 0) { return true; // Pretend we processed it}
总结

以上是内存溢出为你收集整理的长按菜单按钮可关闭Android 2.3上的对话框全部内容,希望文章能够帮你解决长按菜单按钮可关闭Android 2.3上的对话框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存