Android softkeyboard never shows up in emulator
I'm new to Android. I've spent two hours already for searching. Whatever i try softkeyboard is never shown for my EditText
. I create it simply:
EditText editText = (EditText)findViewById(R.id.editText);
I tried:
editText.requestFocus();//i tried without this line too
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
and:
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus)
{
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
}
});
i also tried:
getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
i tried putting this line into AndroidManifest.xml
file:
android:windowSoftInputMode="stateVisible|adjustResize"
but all in vain. It just never shows. What am i missing?
Solution 1:
You need to make sure that your emulator is not set to use a hardware keyboard. This can be done by choosing Edit
on a selected emulator in the AVD. Then uncheck the Hardware keyboard present
setting.
You could also try using a different emulator, such as Genymotion. It supports full hardware acceleration (multi-core CPU as well as GPU) and runs much faster than any of the android emulator images. If you use Genymotion you will need to disable the hardware keyboard within Android (see below for details).
To disable hardware keyboard in Genymotion:
Go to Settings
-> Language & input
and open the Default
item under Keyboard & Input Methods
. There is a Hardware
setting that you can toggle on/off. When it is on you use your physical keyboard and when it is off the standard soft keyboard should pop-up whenever a text field gets focus.
Screenshots for Genymotion settings:
Solution 2:
In version 2.1.1 - click on your virtual device settings - then select "use virtual keyboard for typing" checkbox.