2011-04-28 121 views
0

有些东西让我对黑莓开发很疯狂。我有一个自定义EditField。这里是代码:黑莓自定义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等,但光标不显示,我什么都不能写。我肯定错过了一些,因为我是黑莓开发新手,但是什么?

非常感谢

回答

1

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

protected void layout(int width, int height) 
{ 
    super.layout(Display.getWidth(), m_TxtHeight); 
    setExtent(Display.getWidth(), m_TxtHeight); 
} 
1

您正在测试什么操作系统?如果它是最新的OS6版本,I've found in those versions,则在启用选择模式之前,您不会在文本编辑字段中获得光标。