Во-первых, BitmapField по умолчанию не настраивается, поэтому вам нужно подклассы и переопределить isFocusable, чтобы исправить это. Затем переопределите navigationclick, чтобы запустить событие fieldChanged. Фрагмент кода для минимального поля:
import net.rim.device.api.ui.component.BitmapField;
public class ClickableBitmapField extends BitmapField {
public boolean isFocusable() {
return true;
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(0);
return true;
}
}
В дополнение к этому, вы можете дать некоторое представление о том, когда ваше поле находится в фокусе (если не заботиться только об устройствах с сенсорным экраном). Реализация по умолчанию просто выделит выделение на любых прозрачных областях вашего растрового изображения. Вы можете изменить это, переопределив drawFocus и, возможно, onFocus и onUnfocus, чтобы изменить растровое изображение, которое вы показываете при изменении состояния фокусировки.
Можете ли вы разместить код, чтобы мы могли видеть, что у вас есть? – taylonr