2011-05-26 169 views
0

我想在用户点击我的BlackBerry应用程序中的此ToolbarButtonField时运行一些Java代码。我有下面的代码不工作。请告诉我我错在哪里。黑莓按钮点击处理程序

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

请将您的第二个问题作为单独的问题发布。 – Swati 2011-05-26 15:46:04

回答

1

试试这个:

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

您可以使用:

ToolbarButtonField#invoke

执行操作时,点击此 ToolbarButtonField如果 命令已经设。点击是 定义为以下 触摸事件序列: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. 
    } 
}