2010-09-16 2 views
0

Я делаю большой прогресс, перенося свой компьютерный эмулятор цвета на Android. Он работает на Droid 2 с аппаратной клавиатурой, но я не могу заставить виртуальную клавиатуру отправлять KeyEvents в мой подкласс SurfaceView. Я включил setFocusable (true), setFocusableInTouchMode (true), requestFocus() и requestFocusFromTouch() в представлении для предложений здесь. Методы onKeyUp и onKeyDown не вызывают при использовании виртуальной клавиатуры. Я попробовал (хотя я не совсем уверен, что это необходимо), внедряя onCreateInputConnection и возвращающий новый BaseInputConnection (вместе с соответствующим onCheckIsTextEditor) без успеха.SurfaceView KeyEvents

Я использую HTC Incredible для тестирования. Любая помощь или образец кода будут оценены.

Спасибо.

ответ

0

Проблема была полностью в коде эмуляции. При использовании виртуальной клавиатуры событие «вниз» сразу сопровождается ключом, очищающим мой массив ключей до того, как эмуляция сможет обработать результат. Это не происходит с реальной клавиатурой (независимо от того, как быстро я печатаю). Я только обнаружил это после того, как нашел блог о том, как использовать драйвер dev usb с HTC Incredible.