2012-12-31 61 views
-1

我需要在BlackBerry中輸入或刪除EditField中的每個字符時才能回撥。我需要在寫完文字後立即獲得EditField的文字,而不會失去焦點。在editfield黑莓中輸入字符時回撥

+1

您忘記了「鍵盤記錄」標籤。 –

+0

@LinusKleen,你爲什麼認爲這是一個關鍵記錄器?這有很多合法的用例。特別是在移動設備上,您不希望用戶必須按下超過必要鍵的任何鍵(例如** Enter **),這是有道理的。或者用於自動完成。此外,在黑莓手機上,這個問題的答案很可能不會讓你在除你自己以外的任何應用程序中登錄密鑰。更不用說,這幾乎肯定是支持[這個其他問題](http://stackoverflow.com/q/14098719/119114)。 – Nate

+1

這是一個合法的黑莓問題 - 它太倉促了。我提名它'重新打開' –

回答

1

有多種方法可以做到這一點。例如,如果你有一個EditField情況是這樣的:

private EditField _editField; 

那麼你也可以繼承EditField並重寫keyChar()方法:

_editField = new EditField() { 
    protected boolean keyChar(char key, int status, int time) { 
     super.keyChar(key, status, time); 
     // 'key' is the most recent entered char 
    } 
}); 

,或者你可以實現一個FieldChangeListener並聽取更改:

_editField.setChangeListener(new FieldChangeListener() { 
    public void fieldChanged(Field field, int context) { 
     String text = _editField.getText(); 
     // 'text' is the full text contents of the EditField 
    } 
}); 
+0

它工作。非常感謝 !!! – Sakshi

+0

不客氣。我不知道一旦問題已經結束,您是否可以*接受*答案,但如果此答案旁邊有一個複選標記圖標(「V」),請點擊它以表明這解決了問題。謝謝! – Nate