2011-10-24 32 views

回答

2

當然。使用ItemStateListener爲:

// below assumes that 'form' contains 'textField' which changes you want to listen to 
form.setItemStateListener(new ItemStateListener() { 
    public itemStateChanged(Item item) { 
     if (item != textFiled) { 
      return; // ignore other items 
     } 
     System.out.println("contents: [" + textField.getString() + "]"); 
    } 
}); 

這是值得保留在itemStateChanged是如何按照API文檔調用心中細節:

...當用戶進入...或修改值一個文本字段...

由設備決定何時它認爲一個新值已經輸入 項目。例如,在一個TextField中編輯文本 的實現因設備而異。

一般情況下,預計不會在 之後調用聽衆進行每次更改。但是,如果某個項目的值已更改,則會調用偵聽器,以在調用其他項目上的更改之前以及在將命令 傳送到窗體的CommandListener之前通知應用程序更改 。對於 具有輸入焦點概念的實現,應該在焦點遠離其狀態爲 已更改的項目時,應將該聽衆稱爲否 。只有在項目的值 實際發生更改時才應該調用監聽器。

如果應用程序更改 交互項目的值,則不會調用監聽器。