黑莓按钮单击处理程序

时间:2011-05-26 08:49:09

标签: blackberry java-me

当用户在我的BlackBerry应用程序中单击此ToolbarButtonField时,我想运行一些Java代码。我有以下代码无效。请告诉我我错在哪里。

butHome = new ToolbarButtonField(new StringProvider("Home"));
butHome.setChangeListener(new FieldChangeListener() {
    public void fieldChanged(Field field, int context) {
        System.out.println("Clicked...");
    }
});

2 个答案:

答案 0 :(得分:1)

试试这个:

butHome = new ToolbarButtonField(new StringProvider("Home")) {
    protected boolean navigationClick(int status, int time) {
        System.out.println("Clicked...");
        return true;
    }
});

答案 1 :(得分:1)

您可以使用:

<强> ToolbarButtonField#invoke

  

执行此操作时执行操作   单击ToolbarButtonField if   已设置命令。点击是   定义为以下序列   触摸事件:TouchEvent.DOWN,   TouchEvent.CLICK,TouchEvent.UNCLICK   和TouchEvent.UP。

你将不得不与Command framework结合使用。如果不合适,请覆盖ToolbarButtonField#touchEvent TouchEvent.UNCLICK事件以执行所需的代码。

public boolean touchEvent(TouchEvent message) {
  if ( message.geEvent() == TouchEvent.UNCLICK ) {
         // do what I want.
  }
}