2011-04-28 105 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,則在啓用選擇模式之前,您不會在文本編輯字段中獲得光標。