BlackBerry应用开发指南 监听UI对象的改变

移动开发
本文为《BlackBerry应用开发指南》UI设计篇的最后一章——监听UI对象的改变,UI EventListeners 允许应用程序响应一个 UI 对象的改变。这里有 3 种类型的 UI 事件监听者 :监听 field 属性的变化、监听焦点的改变和监听滚动事件。

UI EventListeners 允许应用程序响应一个 UI 对象的改变。这里有 3 种类型的 UI 事件监听者 :

监听 field 属性的变化

为了监测 field 的变化,实现 FieldChangeListener 接口。调用 setChangeListener()来把你的实现指派给一个 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); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

#p#

监听焦点的改变

为了监测 field 之间焦点的改变,指派给他们一个 FocusChangeListener 。实现这个FocusChangeListener,然后通过调用 setChangeListener()把你的实现指派给一个 Field。一个FocusChangeListener 关心一个与之相关的明确的 Field 的焦点的获取,失去或改变。

当 field 通过实现 focusChanged()获取,失去或改变焦点时,  FocusChangeListener 的实现应该指明 field 将采取什么样的动作。

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); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

#p#

监听滚动事件

ScrollChangeListener 接口的实现允许你的 field 管理器管理滚动事件,调用 setScrollListener()将你的实现给一个 Manager。当水平或垂直的(或都有)滚动值发生变化时,scrollChanged()方法传递一个新的值。

(注:典型地,监听滚动变化没有必要,因为你的应用程序可以监听 field 的焦点变化;尽管这样,ScrollChangeListener 在游戏实现中可能有用。)

为将监听者指派给一个 field,调用 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); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

【编辑推荐】

  1. BlackBerry应用开发指南 使用图像对象画图
  2. BlackBerry应用开发指南 UI设计之图片操作
  3. BlackBerry应用开发者指南 创建客户定制的UI组件
  4. BlackBerry应用开发者指南 UI API篇之管理UI组件
  5. BlackBerry应用开发者指南 UI API篇之显示UI组件
责任编辑:佚名 来源: 网络整理
相关推荐

2011-04-15 15:16:28

使用图像对象画图BlackBerry

2011-04-15 14:22:20

图片操作UIBlackBerry

2011-04-18 11:00:34

使用音频BlackBerry

2011-06-07 09:10:41

BlackBerry 开发

2011-04-14 10:34:08

BlackBerry

2011-04-14 10:05:16

BlackBerry

2011-04-14 10:03:32

UI组件BlackBerry

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-13 13:38:57

选项APIBlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-02 13:44:08

2011-11-29 16:38:58

Knockout

2011-04-13 14:10:27

.alx文件BlackBerry

2011-12-05 14:50:13

Knockout

2011-12-05 15:44:45

Knockout

2012-01-04 16:21:11

2010-05-22 16:57:09

BlackBerry开

2010-04-02 17:45:22

Black Berry

2011-11-30 16:29:41

2011-07-25 16:21:22

Sencha touc
点赞
收藏

51CTO技术栈公众号