Изменить поведение клавиши действия Android с imeOptions не работает
Я пытаюсь перейти от элемента TextView к следующему редактируемому объекту в моей деятельности Android. Следующий объект - это элемент ListView, который можно редактировать. Я пытался использовать imeOptions, но он по-прежнему выполняет новую строку в объекте TextEdit. Мой XML выглядит так:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/question_hint"
android:id="@+id/questionField"
android:textColor="@color/text_color"
android:textCursorDrawable="@null"
android:maxLength="@integer/question_length"
android:imeOptions="actionNext"/>
<!--android:minLines="2"-->
Я также добавил кодовую строку в метод действия oncreate:
questionField = (EditText) findViewById(R.id.questionField);
questionField.setImeOptions(EditorInfo.IME_ACTION_NEXT);
Но это не работает. У кого-нибудь есть идея? Спасибо
1 ответ
Попробуйте что-то вроде этого:
questionField.setOnEditorActionListener(
new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView exampleView,
int actionId, KeyEvent event)
{
if ((actionId == EditorInfo.IME_ACTION_DONE
|| actionId == EditorInfo.IME_ACTION_NEXT
|| actionId == EditorInfo.IME_ACTION_GO
|| (event != null
&& event.getKeyCode() == KeyEvent.KEYCODE_ENTER)))
{
return nextView.requestFocus() // the next view you want the focus to be on
}
else
{
return false;
}
}
});