Программная клавиатура Android не отображается в версиях 2.2/2.3, но отображается в версиях 3.0+

Мое приложение работает на Android 2.2 и более поздних версиях. В нем я использую ActionbarSherlock , чтобы разрешить использование панели действий для устройств до -3.0. Я использовал EditText на панели действий, чтобы разрешить ввод текста пользователем для поиска.

Используя эмулятор с Android 4.0 и 4.1 (Я не пробовал 3.x, потому что это не приложение для планшета ), когда выбран EditText, экранная клавиатура появляется по желанию. Но не так, используя Android 2.2 или 2.3.3, просто не отображает.

Код для EditText прост:

item.setActionView(R.layout.collapsible_edittext);
etInput = (EditText) item.getActionView().findViewById(R.id.etInput);   
etInput.requestFocus();

Макет:



Теперь я попытался специально показать виртуальную клавиатуру, используя этот фрагмент сразу после etInput.requestFocus();, но это не имело значения :

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(etInput, InputMethodManager.SHOW_IMPLICIT);

. Я пытаюсь выяснить, является ли это проблемой с ActionbarSherlock или более общей проблемой Android. Я просмотрел множество статей о принудительном отображении программной клавиатуры в действии, но еще не нашел решения.

Спасибо

7
задан mraviator 6 August 2012 в 12:56
поделиться