Android-7.0: отредактируйте неверный идентификатор действия в редакторе actionlistener

#android #android-studio #android-edittext #android-7.0-nougat

#Android #android-studio #android-edittext #android-7.0-нуга

Вопрос:

У меня есть текст редактирования, объявленный в xml, подобный этому, со следующими свойствами, и я установил android:imeOptions="actionNext"

 <EditText
    android:id="@ id/ui_row_create_poll_edit_text_txt_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="@dimen/margin_normal"
    android:layout_toLeftOf="@id/ui_row_create_task_user_info"
    android:background="@android:color/transparent"
    android:paddingBottom="@dimen/padding_large_plus_little"
    android:paddingLeft="@dimen/padding_large_plus_little"
    android:paddingTop="@dimen/padding_large_plus_little"
    android:singleLine="true"
    android:maxLength="@integer/task_length"
    android:imeOptions="actionNext"
    android:textColor="@color/black"
    android:textSize="@dimen/font_very_large"/>
  

В коде я добавил редактор actionlistener следующим образом.

  public boolean onEditorAction(TextView v, int actionId, KeyEventevent{
    if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_NEXT) {
        listener.onActionDone(option, etOption);
    }
  

В Api < 24 я получаю actionId as EditorInfo.IME_ACTION_NEXT , и он работает нормально. но когда я запускаю свое приложение на Android 7.0 actionId , я получаю EditorInfo.IME_ACTION_IME_ACTION_UNSPECIFIED

введите описание изображения здесь

Может кто-нибудь указать, почему я получаю другой ActionID в Api-24. Если есть какие-либо изменения в EditText в Android-7.0, пожалуйста, укажите мне на некоторые ссылки. Спасибо.

Примечание: мой EditText помещается в listview

Комментарии:

1. попробуйте добавить android:inputType="text" в свой EditText

2. @Logic: все тот же результат

3. Никаких изменений в Android 7. Ваш код отлично работает с ActionID как IME_ACTION_NEXT на моем устройстве Nougat. Используете ли вы какую-либо пользовательскую клавиатуру?

4. @FebiMathew: мой редактируемый текст помещается внутри списка. возможно, это вызовет проблему

Ответ №1:

У меня такая же проблема с использованием android:imeActionLabel Попробуйте удалить его и оставить реализацию по умолчанию