当点击editText时显示android键盘

use*_*005 7 android

如何在android中显示和隐藏键盘.例如,当我点击editText键盘应该显示,当我点击edittext键盘外面时应该隐藏.

Nir*_*tel 13

就试一试吧..

     InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
Run Code Online (Sandbox Code Playgroud)

用于隐藏键盘

     imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);  
Run Code Online (Sandbox Code Playgroud)

用于显示键盘

     imm.showSoftInput(ed, 0);
Run Code Online (Sandbox Code Playgroud)

其中ed是EditText ..


vla*_*ija 5

我一直在使用showSoftInput一段时间,但我也发现了这个替代方案,它模拟了使用dispatchTouchEvent点击EditText :

            ed.requestFocus();
            ed.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0));
            ed.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 0, 0, 0));
Run Code Online (Sandbox Code Playgroud)

虽然没有注意到任何差异......