-1
我正在爲我的Blackberry項目添加BitmapField
。如何將Click事件添加到BitmapField(fieldchangeListener)?
我使用FieldChangeListener
實現了我的課程,並將FieldChangeListener
方法添加到我的課程中。我甚至爲該特定的位圖字段添加了setChangeListener
,但它沒有響應點擊事件。
我該如何解決這個問題?
我正在爲我的Blackberry項目添加BitmapField
。如何將Click事件添加到BitmapField(fieldchangeListener)?
我使用FieldChangeListener
實現了我的課程,並將FieldChangeListener
方法添加到我的課程中。我甚至爲該特定的位圖字段添加了setChangeListener
,但它沒有響應點擊事件。
我該如何解決這個問題?
首先,BitmapField在默認情況下是不可聚焦的,因此您需要繼承並覆蓋isFocusable來修復該問題。然後覆蓋navigationclick來觸發fieldChanged事件。代碼段最小字段:
import net.rim.device.api.ui.component.BitmapField;
public class ClickableBitmapField extends BitmapField {
public boolean isFocusable() {
return true;
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(0);
return true;
}
}
除此之外,你可能要提供當你的領域是重點的一些指示(除非你只關心觸摸屏設備)。默認實現將只在你的位圖的任何透明區域繪製一個高亮區。你可以通過覆蓋drawFocus來改變它,也可以使用onFocus和onUnfocus來改變焦點狀態改變時顯示的位圖。
你可以發佈一些代碼,以便我們可以看到你到目前爲止? – taylonr 2010-08-16 13:36:13