mar*_*ard 12 android overriding android-edittext
我使用了一些Android代码来覆盖EditText字段中的"完成"按钮:
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;
}
});
Run Code Online (Sandbox Code Playgroud)
激活该字段会调出键盘,按"完成"会成功评估mySubroutine().但是,当我按"完成"时,键盘不再消失.如何将此默认行为恢复到例程?
jus*_*der 48
为什么不:
myEditField.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
mySubroutine();
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
处理代码后返回false.这可以解释为无论您的代码(mySubroutine())是什么,它仍将使用默认操作.如果你返回"true",你就知道你是一个快乐的程序员,所有需要完成的事情都发生在mySubroutine()中,默认动作不需要采取行动.
Mac*_*rse 13
您可以执行以下操作来关闭键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
小智 8
您必须将onClickListener附加到执行以下代码的按钮:
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editview.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16772 次 |
| 最近记录: |