Blackberry Custom EditField - обрабатывать фокус - PullRequest
0 голосов
/ 28 апреля 2011

Что-то сводит меня с ума на BlackBerry dev. У меня есть кастом EditField. Вот код:

private EditField m_Txt=new EditField(EditField.FOCUSABLE |
                                        EditField.FILTER_DEFAULT) {
    protected void layout(int width, int height)
    {
        setExtent(Display.getWidth(), m_TxtHeight);
    }
    public boolean isFocusable()
    {
        return true;
    }

    protected void onFocus(int direction)
    {
        super.onFocus(direction);
        invalidate();
    }

    protected void onUnfocus() {
        super.onUnfocus();
        invalidate();
    }
};

Дело в том, что он не может получить фокус. На самом деле он вызывает isFocusable и т. Д., Но курсор не отображается, и я ничего не могу написать. Я определенно что-то упускаю, так как я новичок в BlackBerry dev, но что?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Я действительно нашел ответ.Я полностью забыл вызвать метод super.layout.Таким образом, метод макета должен быть:

protected void layout(int width, int height)
{
    super.layout(Display.getWidth(), m_TxtHeight);
    setExtent(Display.getWidth(), m_TxtHeight);
}
1 голос
/ 28 апреля 2011

С какой ОС вы тестируете?Если это недавний выпуск OS6, Я обнаружил в этих версиях , вы не получите курсор в полях редактирования текста, пока не включите режим выбора.

...