我的活动中有一个EditText字段。用户可以使用虚拟键盘更改该字段中的文本。一旦用户按下键盘上的回车键,我想执行一些操作。那么,如何将setOnClickListener实现到键盘上的enter按钮?
答案 0 :(得分:8)
使用onKeyListener
检查确认按
例如..
edittext.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction()!=KeyEvent.ACTION_DOWN)
return false;
if(keyCode == KeyEvent.KEYCODE_ENTER ){
//your necessary codes...
return true;
}
return false;
}
});
有关详细信息,请查看official documentation
您还可以看到example
答案 1 :(得分:2)
可能与以下内容重复,
Use "ENTER" key on softkeyboard instead of clicking button
Enter Button on Soft KeyBoard - Android
希望这些帮助
答案 2 :(得分:2)
设置在文本视图上执行操作时要调用的特殊侦听器。当按下回车键时,或者当用户选择了提供给IME的动作时,将调用此方法。设置这意味着普通硬键事件不会在文本视图中插入换行符,即使它是多行的;但是,按住ALT修饰符将允许用户插入换行符。
edittext.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
//perform your action
//button.performClick();
}
return false;
}
});
答案 3 :(得分:0)
我为你做了一些研究,发现了这个: How to override the <ENTER> key behaviour of the virtual keyboard in Android
它解释了如何更改回车键的操作。
希望这有帮助!
答案 4 :(得分:0)
尝试
KeyboardView.OnKeyboardActionListener ...虚拟键盘事件的监听器。
进一步行动......