当用户在我的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 :(得分: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.
}
}