我似乎無知,但我還沒有找到關於如何去開發我的BlackBerry應用程序的問題的很多信息。如何刷新按鈕點擊黑莓ui頁面?
基本上我構建了一個包含幾個圖像按鈕的用戶界面。我想要做的是,當我點擊其中一個按鈕時,我希望屏幕中央的圖像能夠無縫切換到另一個圖像。
我目前沒有使用任何線程,雖然從我收集的東西我需要?
或者我只需在我的按鈕監聽器中推入一個新屏幕並調用該類的構造函數並使用不同的圖像重建頁面?
對不起,如果不清楚,我會很感激一些關於如何做到這一點的基本信息,或者是一個解釋黑莓詳細頁面刷新的鏈接!
非常感謝
編輯:好的這裏是我的代碼非常小的一部分:
這基本上是我在聽衆嘗試的最後一件事,我不知道如何改變形象(flagField )當我按下兩個按鈕之一!唯一對我有用的是pushScreen(新的Csps(「americanflag」));每次我按一個按鈕,但表現很糟糕,我留下了一堆屏幕,並不理想。
我一直在嘗試這一切一天做長嘿嘿......嘆了口氣,這裏有雲:
public class CSP extends UiApplication
{
public static void main(String[] args)
{
CSP theApp = new CSP();
theApp.enterEventDispatcher();
}
public CSP()
{
CSPS csps = new CSPS();
pushScreen(csps);
}
}
class CSPS extends MainScreen implements FieldChangeListener
{
int width = Display.getWidth();
int height = Display.getHeight();
ButtonField backButton;
ImageButtonField canadianFlag;
ImageButtonField americanFlag;
Bitmap changeableFlag;
String currentFlag ="canada_flag.png";
BitmapField flagField;
canadianFlag = construct("canada_flag.png", 0.18);
americanFlag = construct("us.gif", 0.18);
canadianFlag.setChangeListener(this);
americanFlag.setChangeListener(this);
add(flagField);
add(canadianFlag);
add(americanFlag);
//LISTENERS
public void fieldChanged(Field field, int context){
if(field == canadianFlag){
setCurrentFlagResource("canada_flag.png");
BitmapField newFlagField = populateFlagField(currentFlag, 0.3);
replace(flagField, newFlagField);
this.invalidate();
this.doPaint();
this.updateDisplay();
}
else if(field == americanFlag){
setCurrentFlagResource("american-flag.gif");
BitmapField newFlagField = populateFlagField(currentFlag, 0.3);
replace(flagField, newFlagField);
this.invalidate();
this.doPaint();
this.updateDisplay();
}
的setCurrentFlagRessource方法將flagField屬性到合適的BitmapField
也許是我的,但有太多的方法調用,我不知道他們怎麼做才能說出什麼可能是錯的。 – Richard 2012-02-10 23:01:51