Htc — я не могу справиться с keyevent

#android #htc-android

#Android #htc-android

Вопрос:

У меня на экране отображается текст редактирования. Я хочу сделать что-то с кнопкой done. На Google Nexus s, Samsung Galaxy он работает идеально. На клавиатуре появляется кнопка с текстом «готово». На htc кнопка не отображается, она отображается как enter simbol. Я попытался добавить объявление в коде или предложении для обработки ввода события, но оно не отвечает

         edit1.setImeOptions(EditorInfo.IME_ACTION_DONE);
    edit1.setOnEditorActionListener(new OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {

            if (arg1 == EditorInfo.IME_ACTION_DONE) {
                chercher.performClick();
            }
            return true;
        }
    });
  

Заранее спасибо,
Raluca

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

1. Я считаю, что это известная проблема с HTC Sense.

2. Могу ли я как-то протестировать в коде, если телефон htc? в этом случае я могу показать диалоговое окно, в котором я добавляю текст редактирования и кнопку

Ответ №1:

AFAIK, действия IME не согласованы между поставщиками устройств. Я бы посоветовал сохранить вашего слушателя, а также предусмотреть в вашем дизайне наличие кнопки на случай, если слушатель не сработает.

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

1. после внедрения множества «решений» и безрезультатно. Я добавлю кнопку. Дело в том, что я хочу, чтобы кнопка была видна, только если телефон htc. могу ли я протестировать это в коде?

2. Класс сборки имеет много констант, которые может предоставить производитель, но я не уверен, что это надежный способ. Создание дизайнов в соответствии с поставщиком — плохой дизайн, особенно когда вы не можете быть уверены, что у вас нет такой же проблемы с другим поставщиком. Это также делает интерфейс приложения несогласованным.