如何触发软键盘?

如何触发软件键盘并将侦听器添加到其键中?

要显示软键盘,您可以尝试: InputMethodManager.showSoftInput()

至于添加侦听器,您可以做的最好的事情是将TextChangedListener添加到EditText以侦听EditText视图中通过键盘进行的更改。

我尝试了两个选项,但没有一个在模拟器中工作,正如我所说,我试图在长按菜单上弹出软键盘:

 @Override public boolean onKeyLongPress(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { showSoftInput.getInputMethodList(); showSoftInput.toggleSoftInput(showSoftInput.SHOW_FORCED, 0); return true; } return super.onKeyLongPress(keyCode, event); } 

第二种选择:

 View.OnLongClickListener mLongClickListener = new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Configuration config = RouteMapActivity.this.getResources() .getConfiguration(); if (config.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) { InputMethodManager imm = (InputMethodManager) RouteMapActivity.this .getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(mapView, InputMethodManager.SHOW_IMPLICIT); // .SHOW_FORCED); } return false; } }; 

您可以通过添加来从您的AndroidManifest.xml执行此操作

  ...  

但请注意:如果用户的设备连接了硬件键盘,则不会出现软输入法。 http://developer.android.com/training/keyboard-input/visibility.html