Android-强制可见软键盘

时间:2014-02-21 00:15:18

标签: android keyboard hide android-softkeyboard enter

我有一个编辑文本,当我点击输入(不是按钮)时,软键盘会消失。如何仅使用BACK按钮关闭软键盘,而不是关闭其他事件?

if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)

2 个答案:

答案 0 :(得分:2)

以下代码可能以编程方式显示键盘。只需在问题代码中捕获KeyEvent,并将此代码放在该函数中:

yourEditText.postDelayed(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            InputMethodManager keyboard = (InputMethodManager)
            getSystemService(Context.INPUT_METHOD_SERVICE);
            keyboard.showSoftInput(mUserNameEdit, 0);
        }
    },0);

我不建议使用InputMethodManager.SHOW_FORCED,因为它可能会导致奇怪的布局问题。在这种情况下,我宁愿使用这个片段:

InputMethodManager mgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

答案 1 :(得分:0)

将此代码放入活动的onCreate()中。

InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.toggleSoftInput (InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);