Я новичок в разработке Android и Eclipse, но не новичок в разработке программного обеспечения в целом.Обновление значка клавиатуры
Как мой первый реальный проект, чтобы преодолеть кривую обучения, я модифицирую мягкую клавиатуру SDK, чтобы включить функциональность «макро».
Основная функциональность работает правильно. Но у меня возникли проблемы с тем, чтобы значок клавиатуры был обновлен в одной из двух ситуаций.
Я создал функциональный ключ «Fn», который, когда я нажимаю, а затем буквенный ключ, вставляет одну из моих предопределенных строк в поле редактирования - например, мой адрес электронной почты.
В первой ситуации, когда я нажимаю функциональную клавишу, я меняю значок, чтобы обозначить «активная функция». Если я несколько раз нажимаю функциональную клавишу, значок меняется взад и вперед, обозначая активный и неактивный. Это верно.
Во второй ситуации я нажимаю функциональную клавишу, значок меняется, чтобы обозначить «активная функция», затем нажмите клавишу букв. Строка макроса вводится в любом текстовом поле правильно, в коде я затем меняю состояние «функция» на неактивное и обновляю значок.
Использование журналов. Я вижу, что код выполнен правильно, чтобы изменить значок, но значок не изменяется. Он по-прежнему показывает состояние «активное состояние», хотя я вижу, что внутренний флаг изменился на неактивный, и я вижу, что ярлык значка ключа был правильно написан, чтобы клавиша отображала состояние «неактивное состояние».
Я пробовал целую кучу разных вещей - безрезультатно.
Что происходит, что предотвращает обновление этой иконки в этой ситуации?
Все во второй ситуации, похоже, выполняет тот же код, что и в первой ситуации - случай, который работает, многократно нажимая функциональную клавишу. Я могу думать об одном различии. При повторном нажатии функциональной клавиши функциональная клавиша имеет «фокус». Когда я нажимаю функциональную клавишу, а затем нажимаю клавишу с буквой, буквенная клавиша - клавиша «focus». Я не знаю, имеет ли это смысл или нет. Я пробовал искать какой-то недействительный метод, но я ничего не могу найти.
Любые советы и предложения приветствуются.
Thanks, Barry.
Я посмотрю на это. Но, интересно, почему, в моей первой ситуации многократного нажатия клавиши Fn, значок меняется правильно.Я не думаю, что клавиатура воссоздается каждый раз, когда я нажимаю клавишу Fn. На самом деле это тот же физический код, который меняет значок для обеих ситуаций 1 и 2. – user1247254
Используете ли вы разные макеты для активного и неактивного состояния? или тот же самый? – jsimpson
Привет, такой же макет. – user1247254