2

У меня есть Dialog, в котором у меня есть EditText. Вопросы, с которыми я сталкиваюсь:Проблема с клавиатурой для EditText

1). Когда в этот момент отображается Dialog, клавиатура не приходит сама. Поэтому мне пришлось программно принести клавиатуру.

InputMethodManager immOnResume = (InputMethodManager) getActivity().getSystemService(
             Context.INPUT_METHOD_SERVICE); 
         immOnResume.showSoftInput(mEditText, 
           InputMethodManager.SHOW_FORCED); 

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

InputMethodManager immN = (InputMethodManager) getActivity().getSystemService(
            Context.INPUT_METHOD_SERVICE); 
        immN.hideSoftInputFromWindow(
          mEditText.getWindowToken(), 0); 

Но они также не работают. Любые предложения, как я могу решить свою проблему.

+2

клавиатура не исчезает, потому что вы использовали 'InputMethodManager.SHOW_FORCED'. Вместо этого вы должны использовать 'InputMethodManager.SHOW_IMPLICIT'. – Karakuri

+0

@Karakuri: спасибо, что это сработало для меня – Vaibs

ответ

0

Попробуйте

getWindow().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
+0

, о чем я могу нажать кнопку дома. – Vaibs

+0

Ничего. Сначала попробуйте это. В моем случае я обрабатываю Activity с помощью Dialog-Theme, и клавиатура скрыта при нажатии кнопки «домой». – svennergr

+0

Я пробовал, но это не работает. – Vaibs

0

Вы можете использовать myedittext.requestFocus()

Клавиатура автоматически исчезают, когда активность разрушается.

+0

Я добавил фокус запроса в xml, а также в код. – Vaibs

0

Если ваш интерфейс написан на XML, вы можете добавить его requestFocus тег:

<EditText ...> 
    <requestFocus /> 
</EditText> 

Это должно вызвать фокус на вашем поле EditText, когда открывается ваш диалог, который, в свою очередь, должен открыть клавиатуру.

Если, однако, ваш пользовательский интерфейс делается программно

editText.requestFocus() 
Смежные вопросы