在EditText中按Enter键时停止键盘关闭?

时间:2014-08-31 19:18:29

标签: java android keyboard android-edittext

我有一个EditText,其singleLine属性设置为true。当我按下键盘上的Enter键时,键盘被隐藏。是否有可能阻止这种情况?

2 个答案:

答案 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() 编辑二:抱歉,我读错了,我现在修好了试试这个。