0

有什么东西让我在 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 的新手,所以我肯定会遗漏一些东西,但是什么?

非常感谢

4

2 回答 2

1

您正在测试什么操作系统?如果它是最近的 OS6 版本,我发现在那些版本中,在启用选择模式之前,您不会在文本编辑字段中看到光标。

于 2011-04-28T17:38:13.577 回答
1

我其实已经找到答案了。我完全忘了调用 super.layout 方法。所以布局方法应该是:

protected void layout(int width, int height)
{
    super.layout(Display.getWidth(), m_TxtHeight);
    setExtent(Display.getWidth(), m_TxtHeight);
}
于 2011-04-29T09:23:17.387 回答