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"
/>

Я хочу установить пользовательскую команду так, чтобы, когда кто-то нажимает на кнопку Done/Go на экранной клавиатуре, кнопка была нажата или просто выполнила методы, которые выполняются кнопкой. Я думаю, что это имеет некоторое отношение к ime опциям, но я не смог выяснить, как они работают. Заранее спасибо за любую справку!

57
задан Corey Alexander 18 July 2010 в 17:05
поделиться

2 ответа

Вам нужна комбинация 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.

133
ответ дан 24 November 2019 в 19:26
поделиться

Посмотрите на setImeActionLabel метод (или imeActionLabel и imeActionId атрибуты) и setOnEditorActionListener для установки слушателя, реагирующего на события.

0
ответ дан 24 November 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: