如何为android软键盘中的按钮设置onClickListener?

时间:2015-05-24 09:58:28

标签: android onclicklistener android-softkeyboard

有一种明确的方法可以使用{{1}为 onClickListener 按钮或 Done 按钮设置Next按钮}}。但是,如何为 OnEditorActionListener 等按钮设置onClickListener,或者为字母 speaker 设置字母按钮?

因此,在未能使用M之后,我在developer.android上查看了keyEvent并找到了以下引用:

  

由于软输入法可以使用多种创造性的输入方式   文字,无法保证软键盘上的任何按键都会   生成一个关键事件:这由IME自行决定,并在   不鼓励发送此类事件的事实。你永远不应该依赖   接收软输入法上任何键的KeyEvents。特别是,   默认软件键盘永远不会向任何键事件发送任何键事件   应用程序目标是Jelly Bean或更高版本,并且只会发送事件   对于一些按下删除键和返回键到应用程序   目标冰淇淋三明治或更早。请注意其他软件   无论版本如何,输入方法都不会发送关键事件。   如果需要,请考虑使用IME_ACTION_DONE之类的编辑器操作   与软件键盘的特定交互,因为它提供了更多   用户对应用程序如何对密钥作出反应的可见性   印刷机。

这句话的存在无法克服这个问题,所以?!!

1 个答案:

答案 0 :(得分:2)

您尝试使用onKeyListener了吗?实施例

mEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_M ){
        // Example for M key
        // Code...
        return true;
    }
    return false;
}
});

您可以阅读有关KeyEvent和其他关键代码here的更多信息。