Я попробовал очень популярный ответ , предложенный здесь
Хотя это не сработало для меня, как, кажется, для других пользователей. Возможно это устарело или у меня есть что-то противоречащее в моем коде.
Вот xml для моего EditText
:
<EditText
android:id="@+id/editText_letter_entry"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@drawable/edit_text_rounded"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"
android:drawableEnd="@drawable/ic_search_black_24dp"
android:hint="@string/enter_letters"
android:importantForAutofill="no"
android:inputType="text|textNoSuggestions|textVisiblePassword"
android:maxLength="15"
android:maxLines="1"
android:imeOptions="actionSearch"
android:paddingLeft="@dimen/et_padding_left_right"
android:paddingRight="@dimen/et_padding_left_right"
app:layout_constraintBottom_toTopOf="@+id/bottomBannerAdView"
app:layout_constraintEnd_toStartOf="@+id/guideline2Container"
app:layout_constraintStart_toStartOf="@+id/guideline1Container"
app:layout_constraintTop_toTopOf="parent" />
Как видите, у меня есть android:imeOptions="search" & android:inputType="text"
вместе с textNoSuggestions
& textVisiblePassword
в качестве inputType. Я пробовал это только с text
как inputType
, как и в другом предложенном ответе, но это не имело никакого значения, и я не хочу никаких предложений по клавиатуре.
Что касается этого слушателя, я удалось заставить это работать, хотя и немного хакерским способом, потому что action id
возвращается как IME_ACTION_UNSPECIFIED
, поэтому я просто обработал это вместо этого. Это можно увидеть здесь:
et_letter_entry.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH || actionId == EditorInfo.IME_ACTION_UNSPECIFIED ) {
preformSearch();
return true;
}
return false;
}
});
В настоящее время у меня есть значок для новой строки, а не search
или значок поиска.
Почему на xml не влияет android:imeOptions="search"
в моем случае?
Почему кнопка ввода отображает значок новой строки?
Почему идентификатор действия возвращается как неопределенное?
Спасибо