如何触发软件键盘并为其添加听众?
答案 0 :(得分:3)
要显示软键盘,您可以尝试:InputMethodManager.showSoftInput()
对于添加侦听器,您可以做的最好的事情是向TextChangedListener
添加EditText
以收听EditText
视图中通过键盘发生的更改。
答案 1 :(得分:2)
我尝试了两个选项,但没有一个在模拟器中工作,正如我所说,我试图在长按菜单上弹出软键盘:
@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;
}
};
答案 2 :(得分:0)
您可以通过添加
从AndroidManifest.xml中执行此操作<activity
android:windowSoftInputMode="stateVisible" ... >
...
</activity>
但请注意:如果用户的设备连接了硬件键盘,则不会出现软输入法。 http://developer.android.com/training/keyboard-input/visibility.html