Blackberry BitmapField фокус-не фокусировка проб - PullRequest
0 голосов
/ 23 марта 2012

Я хочу установить текст в определенной метке на фокусе BitmapField, и сбросить текст на расфокусированном. Я использую следующий код:

final BitmapField tab1 = new BitmapField(Bitmap.getBitmapResource("img/icon1.png"), FIELD_BOTTOM | BitmapField.FOCUSABLE) {
    protected void drawFocus(Graphics graphics, boolean on) {
        // the simplies way to draw a rectangle and this will be the
        // focus

    }

    protected boolean navigationClick(int status, int time) {
        // write here your code what you want to run the user clicks to
        // the bitmap
        // try something like this
        Dialog.alert("Code for tab1");
        return true;
    }

    public void setFocus(){
        super.setFocus();
        selectedLabel.setText("tab1");      
    }

    public void onUnfocus(){
        super.onUnfocus();
        selectedLabel.setText("");  
    }

};

Но фокус меняется должным образом, а метка не устанавливается вообще. Где проблема в моем коде?

Ответы [ 3 ]

2 голосов
/ 23 марта 2012

переопределить onFocus(int direction) вместо setFocus()

1 голос
/ 26 марта 2012
protected void onFocus(int direction) {
    super.onFocus(direction);
    selectedLabel.setText("tab1");
}

protected void onUnfocus() {
    super.onUnfocus();
    selectedLabel.setText("");
}
0 голосов
/ 24 марта 2012

Используйте метод onfocus() & onUnfocus() и замените ваш LabelField в обоих методах на Invalidate().

...