此代码用于在按钮单击时显示和隐藏Android键盘。
public void keyClickHandler(View v) {
EditText editText = (EditText) findViewById(R.id.KeyBoard);
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (keyboard) {
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
keyboard = false;
} else {
mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
keyboard = true;
}
Log.d("SET", "Focus");
}
但是not
在模拟器中工作
我发现它在手机中正常工作,但在模拟器中只有not
答案 0 :(得分:1)
我不知道你的其他代码是怎么回事,但你可以尝试这样的事情:
public void onClick(View v)
{
EditText editText = (EditText) findViewById(R.id.KeyBoard);
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
switch(v.getId())
{
case R.id.yourButtonId:
if(keyboard)
{
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
keyboard = false;
}
else
{
mgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
keyboard = true;
}
Log.d("SET", "Focus");
break;
}
}
要实现此目的,您必须使用onClickListener实现您的类,并在onCreate中将按钮设置为:
Button yourButton = (Button) findViewById(R.id.yourButtonId);
yourButton.setOnClickListener(this);