0
我在我的應用程序中動態顯示按鈕。當我確定要顯示的按鈕數量時,它工作正常。但是,現在我想要改變點擊按鈕的背景顏色,我也可以這樣做,但只有標籤部分改變了顏色,其餘部分仍然是一樣的。如何顯示黑莓整個寬度和高度的背景按鈕?
那麼,我該如何解決這個問題呢?這裏是我到目前爲止的代碼:
btn = new ButtonField[Global.vec_locdisablecityname.size()];
for(int i=0;i<Global.vec_locdisablecityname.size();i++){
btn[i] = new ButtonField("",ButtonField.CONSUME_CLICK |ButtonField.FOCUSABLE);
btn[i].setLabel((String)Global.vec_locdisablecityname.elementAt(i));
if(Global.flag == true){
Global.flag = false;
Bitmap bmp_backbtnclick=Bitmap.getBitmapResource("bg-btn-location.png");
Background bg_backbtnclick=BackgroundFactory.createBitmapBackground(bmp_backbtnclick);
btn[i].setBackground(bg_backbtnclick);
}
else {
if(Global.selectedbutton == i){
Bitmap bmp_backbtnclick=Bitmap.getBitmapResource("bg-btn-location.png");
Background bg_backbtnclick=BackgroundFactory.createBitmapBackground(bmp_backbtnclick);
btn[i].setBackground(bg_backbtnclick);
}
else {
btn[i].setBackground(null);
}
}
FieldChangeListener listener = new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
if (field instanceof ButtonField) {
for (int i = 0; i <= 1; i++) {
if (field == btn[i]) {
System.out.println("CLicked::::---->>>" +i);
btn[i].setBackground(null);
Global.selectedbutton = i;
selectedcityid = Global.vec_locdisablecitycode.elementAt(i).toString();
System.out.println("value of selected city id:::-->>" +selectedcityid);
selectedcitycodeparse(selectedcityid);
selectedstartloading();
break;
}
else {
btn[i].setBackground(null);
}
}
}
}
};
btn[i].setChangeListener(listener);
hfmbuttons.add(btn[i]);
}
非常感謝您的幫助......但我解決了我的問題。 – Ved
如果您解決了您的問題,請考慮發佈解決方案作爲幫助其他用戶的答案。 – donturner