Просто чтобы уточнить ответ Хагмма:
После отправки TouchEvent.CLICK в ваше приложение также будет отправлено событие navigationClick. Это из соображений совместимости, поэтому такие вещи, как ButtonFields, будут работать на устройстве с сенсорным экраном, даже если приложение не было явно написано для ответа на touchEvents.
Если событие navigationClick не используется (возвращает true) полем в вашем приложении, будет отображено контекстное меню.
Если вы видите такое поведение при нажатии на поле кнопки, объяснение состоит в том, что по умолчанию ButtonFields не потребляют события щелчка. Я обнаружил, что это хорошая практика - всегда создавать ButtonFields со следующими установленными битами стиля:
ButtonField myButtonField =
new ButtonField( ButtonField.CONSUME_CLICK | ButtonField.NEVER_DIRTY );
Код haagmm является одним из решений, но лучше скопировать код обработки TouchEvent.CLICK, а также вставить его в метод navigationClick. Таким образом, трекбольное устройство, такое как BlackBerry Tour, все еще сможет использовать ваше приложение.