2011-05-26 222 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. 
    } 
}