Мой код для открытия диалогового окна ввода выглядит следующим образом:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Dialog Title");
alert.setMessage("Request information");
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.edittextautotextlayout, null);
final EditText inputBox = (EditText) textEntryView.findViewById(R.id.my_et_layout);
alert.setView(inputBox);
Это работает нормально, за исключением того, что мне нужно нажать строку ввода текста, прежде чем появится экранная клавиатура.
Последанный совет здесь Я попытался вставить:
inputBox.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
alert.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
, но Eclipse возражает, что "метод getWindow () не определен для типа AlertDialog.Builder".
Кажется, что код setOnFocusChangeListener работает для объекта AlertDialog, но не для AlertDialog.Builder.Как мне изменить мой код, чтобы программная клавиатура отображалась автоматически.