【问题标题】:AlertDialog getting cancelled by hardware search button press按下硬件搜索按钮取消 AlertDialog
【发布时间】:2011-07-20 19:35:01
【问题描述】:

我在我的应用程序中显示了一个 AlertDialog,即使我已将其设置为不可取消,当按下硬件搜索按钮时它也会被取消。

我尝试覆盖 keyDown 方法并检测按键以及 onSearchRequested 方法。但是它们在第一次按下按钮时都不起作用,尽管在那之后它们起作用。

有什么想法吗?

PS:我知道这是repeated question....但没有人回复它,这就是为什么重新发布:)

【问题讨论】:

    标签: android android-alertdialog


    【解决方案1】:

    您应该可以使用 OnKeyListener 来完成。在这种情况下,只允许使用 DPAD 键。

    return new AlertDialog.Builder(this)
        .setTitle("Title")
        .setMessage("Dialog message")
        .setCancelable(false)
        .setOnKeyListener(new DialogInterface.OnKeyListener() {
    
            public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                //whitelist allowed keys - allow navigation keys only
                if (keyCode < KeyEvent.KEYCODE_DPAD_UP || keyCode > KeyEvent.KEYCODE_DPAD_CENTER) {
                    return true;
                }
                return false;
            }
        })
    .create();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多