Исключение выдается, когда я устанавливаю isFocusable на менеджер BlackBerry - PullRequest
0 голосов
/ 21 января 2010

В моем приложении Blackberry у меня есть менеджер, который контролирует расположение полей моего экрана. Это стандартный способ работы, когда вам нужен собственный макет.

Теперь, одно из «полей», которые я использую, - это сам менеджер, который аккуратно выкладывает ряд элементов управления. Назовите это «поле» «summaryField», поскольку оно суммирует данные для меня. Все это прекрасно выглядит.

Однако, когда я перезаписываю isFocusable() член "summaryField", я начинаю получать исключение нулевого указателя.

Кто-нибудь имеет представление о том, почему выбрасывается это исключение?

public class SummaryField extends Manager
{
protected void drawFocus(Graphics graphics, boolean on) {
        super.drawFocus(graphics, on);
    }
    protected void onFocus(int direction) {
        super.onFocus(direction);
    }
    protected void onUnfocus() {
        super.onUnfocus();
    }


    public boolean isFocusable() {
        return true;
    }
}

1 Ответ

1 голос
/ 21 января 2010

Если бы мне пришлось угадывать, я бы сказал, что ваш Менеджер, вероятно, не содержит каких-либо фокусируемых полей в нем, и поэтому ваше жестко закодированное «истинное» возвращаемое значение для isFocusable () связано с истинным состоянием SummaryField.Помните, что сами менеджеры не могут иметь «фокус», только поля внутри него.

...