Подтвердить что ты не робот

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, но я не мог понять, как они работают. Заранее благодарим за помощь!

4b9b3361

Ответ 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, чтобы настроить прослушиватель для ответа на события.