如何为android软键盘中的按钮设置onClickListener?
有一种明确的方法可以使用如何为android软键盘中的按钮设置onClickListener?,android,onclicklistener,android-softkeyboard,Android,Onclicklistener,Android Softkeyboard,有一种明确的方法可以使用OnEditorActionListener为按钮Done或Next设置onClickListener。但是,我如何为按钮(如扬声器)或字母(如M)设置按钮 因此,在未能使用setOnKeyListener之后,我查看了developer.android并发现以下引用: 因为软输入法可以使用多种创造性的输入方式 文本,不能保证软键盘上的任何按键都会 生成关键事件:这由IME自行决定,并且 不鼓励发送此类事件。你永远不应该依赖别人 接收软输入法上任意键的KeyEvents
OnEditorActionListener
为按钮Done
或Next
设置onClickListener
。但是,我如何为按钮(如扬声器)或字母(如M)设置按钮
因此,在未能使用
setOnKeyListener
之后,我查看了developer.android并发现以下引用:
因为软输入法可以使用多种创造性的输入方式
文本,不能保证软键盘上的任何按键都会
生成关键事件:这由IME自行决定,并且
不鼓励发送此类事件。你永远不应该依赖别人
接收软输入法上任意键的KeyEvents。特别地,
默认的软件键盘不会向任何用户发送任何按键事件
以Jelly Bean或更高版本为目标的应用程序,将只发送事件
对于某些应用程序,按delete键和return键
目标是冰淇淋三明治或更早。请注意,其他软件
无论版本如何,输入方法可能永远不会发送键事件。
如果需要的话,请考虑使用编辑动作
与软件键盘的特定交互,因为它提供了更多
让用户了解应用程序对密钥的反应
印刷机
这句话的存在没有任何办法克服它,所以 您是否尝试过使用
onkeylister
?范例
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和其他键代码的更多信息。我已经尝试过这种方法,我不知道原因,但它甚至没有输入onClick方法。好吧,它只在我使用Next或Done时输入了方法