Android:键盘未在模拟器中使用代码显示

时间:2011-12-22 03:09:27

标签: android android-emulator keyboard

此代码用于在按钮单击时显示和隐藏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

1 个答案:

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