Android: клавиатура не отображается с использованием кода в эмуляторе - PullRequest
0 голосов
/ 22 декабря 2011

Этот код предназначен для отображения и скрытия клавиатуры 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 Ответ

1 голос
/ 22 декабря 2011

Я не знаю, как обстоят дела с остальным кодом, но вы можете попробовать что-то вроде этого:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...