问题描述
我使用了一些 Android 代码来覆盖 EditText 字段中的完成"按钮:
I have used a bit of Android code to override the "Done" button in my EditText field:
myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
mySubroutine();
return true;
}
return false;
}
});
激活该字段会调用键盘,然后按完成"会成功评估 mySubroutine().但是,当我按下完成"时,键盘不再消失.如何将此默认行为恢复为例程?
Activating the field calls up the keyboard, and pressing "Done" evaluates mySubroutine() successfully. However, the keyboard no longer goes away when I press "Done". How do I restore this default behaviour to the routine?
推荐答案
为什么不呢:
myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
mySubroutine();
}
return false;
}
});
在处理完代码后返回 false.这可以解释为无论您的代码 (mySubroutine()) 做什么,之后它仍将使用默认操作.如果您返回true",则说明您是一个快乐的编码员,需要完成的所有事情都在您的 mySubroutine() 中发生,并且默认操作不需要执行.
Just return false after you handle your code. This can be interpreted as no matter what your code (mySubroutine()) does it will still use the default action afterwards. If you return "true" you are telling that you are a happy coder and everything that needed to be done has happen in your mySubroutine() and the default action do not need to take action.
这篇关于Android:将键盘隐藏在覆盖的“完成"中EditText 的按键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!