点击editText时如何弹出安卓键盘

8
如何在安卓系统中显示和隐藏键盘。例如,当我点击editText时,键盘应该显示出来,而当我点击edittext外部时,键盘应该隐藏起来。
2个回答

13

试着去做吧...

     InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);

隐藏键盘

     imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);  
显示键盘
     imm.showSoftInput(ed, 0);

ed是一个EditText对象...


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));

尽管如此,我并没有注意到任何区别...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接