我有以下labelfield,我希望可點擊並捕捉/處理其焦點/未聚焦事件。LabelField在os6和os7設備上不顯示(僅在os5上)
titleField = new LabelField(title,FOCUSABLE|USE_ALL_WIDTH){
public void paint(Graphics graphics)
{
graphics.setColor(Color.BLUE);
graphics.drawText(_title, 30,0);
super.paint(graphics);
}
protected boolean navigationClick(int status,int time)
{
if(panel != null) panel.takeAction();
return true;
}
protected void onFocus(int dir)
{
super.onFocus(dir);
panel.setSelectedIndex(_index);
}
protected void onUnfocus()
{
if(!_collapse){
_prevIndex = _index;
panel.setPreviousSelectedIndex(_prevIndex);
}
}
};
到目前爲止,代碼工作在我的OS5模擬器符合市場預期,但在OS6/7模擬器中,labelfields只是顯示爲空白(我甚至試圖消除super.paint(圖形);打電話,但還是得到了相同的結果)。有什麼想法發生了什麼?謝謝
如果我不打電話在paint中繪製文本,那我該如何顯示文本?我添加了super.onunfocus,但仍然得到相同的結果..在os5模擬器上一切正常,在os6/7模擬器上沒有任何顯示。 –
如果你爲你的文本調用setText而不是super.paint會爲你繪製文本 –
我想通了......實際上在我的佈局(水平)中我有一個checkboxfield然後一個labieldield ..出於某種奇怪的原因,checkboxfield正在佔用即使我沒有指定USE_ALL_WIDTH,os6/7模擬器上的所有水平空間。通過重寫佈局並指定尺寸,佈局現在可以正常運行。感謝您的提示:) –