Android: показ программной клавиатуры автоматически, когда фокус находится на EditText
Я прочитал этот пост, который автоматически показывает виртуальную клавиатуру при отображении диалогового окна. однако, это не работает для меня. есть идеи почему? даже если текст редактирования автоматически находится в фокусе, когда появляется диалоговое окно, событие не запускается. Я также прочитал ответ onpostresume, но я не знаю, как его применить. любая помощь приветствуется.
final Dialog dialog = new Dialog(ThesisI.this);
dialog.setContentView(R.layout.budget_dialog);
final EditText et = (EditText) dialog.findViewById(R.id.textComments);
final Button enter = (Button) dialog.findViewById(R.id.buttonEnter);
final Button cancel = (Button) dialog.findViewById(R.id.buttonCancel);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
/**cancel */
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
dialog.show();
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
однако я заметил, что если я переключаю фокус на кнопку, то снова фокусируюсь на редактируемый текст. это событие работает, используя этот код ниже.
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
InputMethodManager inputMgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMgr.toggleSoftInput(0, 0);
}
}
});
есть идеи, как его применить?