Android: кнопка редактирования текста
У меня есть текст редактирования, который определяется следующим образом.
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
android:hint="@string/field_text"
android:id="@+id/field"
/>
Я хочу настроить пользовательскую команду, чтобы, когда кто-то нажимает кнопку "Готово/Перейти" на экранной клавиатуре, нажимается кнопка или просто запускает методы, запускаемые кнопкой. Я думаю, что это имеет какое-то отношение к опциям ime, но я не мог понять, как они работают. Заранее благодарим за помощь!
Ответы
Ответ 1
Вам нужна комбинация android: imeOptions и setOnEditorActionListener
<EditText android:id="@+id/some_edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:imeOptions="actionSend">
</EditText>
some_edittext.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEND) {
some_button.performClick();
return true;
}
return false;
}
});
Очевидно, вы должны изменить actionSend на нужное действие и соответственно изменить IME_ACTION_SEND.
Ответ 2
Посмотрите на setImeActionLabel
метод (или imeActionLabel
и imeActionId
) и setOnEditorActionListener
, чтобы настроить прослушиватель для ответа на события.