BlackBerry應(yīng)用開(kāi)發(fā)指南 監(jiān)聽(tīng)UI對(duì)象的改變
UI EventListeners 允許應(yīng)用程序響應(yīng)一個(gè) UI 對(duì)象的改變。這里有 3 種類型的 UI 事件監(jiān)聽(tīng)者 :

監(jiān)聽(tīng) field 屬性的變化
為了監(jiān)測(cè) field 的變化,實(shí)現(xiàn) FieldChangeListener 接口。調(diào)用 setChangeListener()來(lái)把你的實(shí)現(xiàn)指派給一個(gè) field。
- private class
 - FieldListener implements implements implements
 - implements
 - FieldChangeListener {
 - public void
 - fieldChanged(Field , int context) {
 - if
 - (context != FieldChangeListener.PROGRAMMATIC) {
 - // Perform action if user changed field.
 - }
 - else {
 - // Perform action if application changed field.
 - }
 - }
 - }
 - // ...
 - FieldListener myFieldChangeListener = new FieldListener()
 - myField.setChangeListener(myFieldChangeListener);
 
#p#
監(jiān)聽(tīng)焦點(diǎn)的改變
為了監(jiān)測(cè) field 之間焦點(diǎn)的改變,指派給他們一個(gè) FocusChangeListener 。實(shí)現(xiàn)這個(gè)FocusChangeListener,然后通過(guò)調(diào)用 setChangeListener()把你的實(shí)現(xiàn)指派給一個(gè) Field。一個(gè)FocusChangeListener 關(guān)心一個(gè)與之相關(guān)的明確的 Field 的焦點(diǎn)的獲取,失去或改變。
當(dāng) field 通過(guò)實(shí)現(xiàn) focusChanged()獲取,失去或改變焦點(diǎn)時(shí), FocusChangeListener 的實(shí)現(xiàn)應(yīng)該指明 field 將采取什么樣的動(dòng)作。
- private class
 - FocusListener implements implements implements
 - implements
 - FocusChangeListener {
 - public void
 - focusChanged(Field field, int eventType) {
 - if
 - (eventType == FOCUS_GAINED) {
 - // Perform action when this field gains the focus.
 - }
 - if
 - (eventType == FOCUS_CHANGED) {
 - // Perform action when the focus changes for this field.
 - }
 - if
 - (eventType == FOCUS_LOST) {
 - // Perform action when this field loses focus.
 - }
 - }
 - }
 - FocusListener myFocusChangeListener = new FocusListener();
 - myField.setChangeListener(myFocusChangeListener);
 
#p#
監(jiān)聽(tīng)滾動(dòng)事件
ScrollChangeListener 接口的實(shí)現(xiàn)允許你的 field 管理器管理滾動(dòng)事件,調(diào)用 setScrollListener()將你的實(shí)現(xiàn)給一個(gè) Manager。當(dāng)水平或垂直的(或都有)滾動(dòng)值發(fā)生變化時(shí),scrollChanged()方法傳遞一個(gè)新的值。
(注:典型地,監(jiān)聽(tīng)滾動(dòng)變化沒(méi)有必要,因?yàn)槟愕膽?yīng)用程序可以監(jiān)聽(tīng) field 的焦點(diǎn)變化;盡管這樣,ScrollChangeListener 在游戲?qū)崿F(xiàn)中可能有用。)
為將監(jiān)聽(tīng)者指派給一個(gè) field,調(diào)用 field 管理器上的 setScrollListener().
- private class
 - ScrollListener implements implements implements
 - implements
 - ScrollChangeListener {
 - scrollChanged(Manager manager, int newHoriztonalScroll, int newVerticalScroll){
 - // Perform action.
 - }
 - }
 - ScrollListener myScrollChangeListener = new ScrollListener();
 - myManager.setScrollListener(myScrollChangeListener);
 
【編輯推薦】















 
 
 
 
 
 
 