Как создать фокусируемый горизонтальный полевой менеджер в Blackberry - PullRequest
0 голосов
/ 31 августа 2011

Мне нужен фокусируемый горизонтальный менеджер полей, для этого я нашел код на форумах.

        hfm[i]=new HorizontalFieldManager(HorizontalFieldManager.FOCUSABLE)
        {
            protected void onFocus(int direction)
            {
                Background bg = BackgroundFactory.createLinearGradientBackground(0x00E2E2E2,0x00E2E2E2,0x00E2E2E2,0x00E2E2E2);
                setBackground(bg);
            }

            protected void onUnfocus()
            {
                Background bg = BackgroundFactory.createLinearGradientBackground(0x00FFFFFF,0x00FFFFFF,0x00FFFFFF,0x00FFFFFF);
                setBackground(bg);
            }
        };
rtf[i]=new ExtendedLabel(list[i]);
hfm[i].add(rtf[i]);
add(hfm[i]);

Но он не фокусируется, если он

Ответы [ 3 ]

3 голосов
/ 31 августа 2011

Вы также должны добавить этот метод в свой новый HorizontalFieldManager

public boolean isFocusable(){
    return true;
}

Помните, что когда вы устанавливаете менеджер таким образом, чтобы он был фокусируемым, у него должно быть поле внутри него, которое можно фокусировать, иначе вы получитенулевое исключение, когда экран пытается сфокусировать ваше внимание.

0 голосов
/ 03 сентября 2011

Вы уделяете этому внимание.

rtf[i]=new ExtendedLabel(list[i]);

как ....

rtf[i]=new ExtendedLabel(list[i],Field.Focusable);
0 голосов
/ 31 августа 2011

Это известная проблема, которая случается с каждым хотя бы один раз. Я начал тему на форуме поддержки BB:
Прокрутка происходит, но вертикальный менеджер поля не двигается

И ответом была статья на форуме поддержки ежевики:
Мой прокручиваемый менеджер не прокручивает

Это не реальный ответ, а единственный обходной путь, доступный на данный момент

Другое возможное решение этого вопроса:

Друг дал мне решение ... ты можешь поместить своего менеджера в горизонтальный менеджер, а затем вы можете просто добавить нулевое поле с фокусируемое поведение, это сделает трюк

Вы можете попробовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...