В моем приложении есть страница Войти, на которой есть перечисленные элементы:
- имя пользователя (EditText)
- пароль (EditText)
- Войти (кнопка)
При нажатии Login
он попадет на главный экран. Намерение состоит в том, чтобы выполнить то же самое действие, когда пользователь нажимает Done
после завершения ввода пароля на программной клавиатуре на Samsung Galaxy S3
; и клавишу Enter
программной клавиатуры на HTC One X
.
Итак, вот как выглядит поле EditText of Password:
<EditText
android:id="@+id/password_txt"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="8dp"
android:singleLine="true" />
В Activity все, что я пробовал, находится здесь:
EditText mPassword = (EditText) findViewById(R.id.password_txt);
mPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER || actionId == EditorInfo.IME_ACTION_DONE){
Log.e("MyApp", " ------> IN EDITOR ACTION DONE");
}
return false;
}
});
Я пытался сохранить imeOptions для поля пароля как actionDone
вместе с flagNoExtractUi
, но это не сработало.