我似乎无知,但我还没有找到关于如何去开发我的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