代码之家  ›  专栏  ›  技术社区  ›  Droidum

使用Enter键关闭AlertDialog会影响其他活动

  •  0
  • Droidum  · 技术社区  · 6 年前

    我有一个连接了物理键盘的Android设备。
    一个活动打开一个AlertDialog,从用户处查询字符串。
    我创建这样的对话框

    new AlertDialog.Builder(context).setView(myView)
      .setPositiveButton("Ok", clickListener)
      .show();
    

    myView包含一个文本框和要执行的信息文本。确定按钮来自对话框。
    clickListener在单击“确定”时读取文本框并输入文本。

    第一次按enter键会从文本框跳转到OK按钮,第二次按enter键会激活OK并关闭AlertDialog。(我将对此进行优化,使其只需要一次输入,但这是另一个故事)

    然后,执行此对话框的底层活动在活动中选择一个按钮,该按钮会呈现“聚焦”的外观。它似乎也会对enter做出反应,尽管我认为enter应该在AlertDialog中被完全使用。

    这里出了什么问题,我能以某种方式避免吗?

    0 回复  |  直到 6 年前