Как я могу использовать кнопки андроид альбомной клавиатуры? - PullRequest
1 голос
/ 28 мая 2011

У меня есть активность с двумя EditTexts. Если в альбомном режиме я выбираю первый EditText, на отображаемой клавиатуре есть кнопка «Далее», которая должна позволить мне ввести второй EditText. Аналогично, второй EditText имеет кнопку «Готово», которую я хотел бы обработать для завершения действия. Как я могу справиться с выбором этих кнопок?

1 Ответ

3 голосов
/ 01 июня 2011

Существует довольно мало документации о том, как решить эту проблему. Я нашел хорошее решение здесь . По сути, вы можете добавить IMEoption для каждого из EditTexts: Для первого:

      android:imeOptions="actionNext"

Для второго:

      android:imeOptions="actionDone"

Чтобы обработать это в коде, попробуйте что-то вроде этого:

EditText departureAddress, destinationAddress;
departureAddress = (EditText)findViewById(R.id.departure);
//Set the action of the "next" button to bring destinationAddress to focus
destinationAddress(new OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  if (actionId == EditorInfo.IME_ACTION_NEXT) {
      destinationAddress.requestFocus();
  }
  return true;
}
  });
  destinationAddress = (EditText)findViewById(R.id.destination);
  //Set the action of the "done" button to handle the map query
  destinationAddress.setOnEditorActionListener(new OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  if (actionId == EditorInfo.IME_ACTION_DONE) {
      //Handle map query
  }
  return true;
}
  });
...