我有一个EditText,其singleLine属性设置为true。当我按下键盘上的Enter键时,键盘被隐藏。是否有可能阻止这种情况?
答案 0 :(得分:3)
我一直在使用导致此问题的OnKeyListener。切换到OnEditorActionListener会在按Enter键时停止键盘关闭,并允许我完全控制它。
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT || actionId == EditorInfo.IME_ACTION_DONE) {
//DO THINGS HERE
return true;
}
return false;
}
});
答案 1 :(得分:0)
这应该可以帮到你
youredittext.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int keyCode, KeyEvent event) {
if ( (event.getAction() == KeyEvent.ACTION_DOWN ) &&
(keyCode == KeyEvent.KEYCODE_ENTER) )
{
// hide virtual keyboard
InputMethodManager imm =
(InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInputFromInputMethod(edittext.getWindowToken(), 0);
return true;
}
return false;
}
});
当您按下回车键时,inputMethodManager将显示键盘(如果需要)。
希望这能解决您的问题:)
编辑: 如果这不起作用,请尝试在if语句的secend部分使用event.getKeyCode() 编辑二:抱歉,我读错了,我现在修好了试试这个。