Я могу показаться невежественным, но я не нашел много информации о том, как решить мою проблему при разработке моего приложения BlackBerry.
По сути, я создал пользовательский интерфейс, содержащий несколько кнопок изображений.Что я хочу сделать, так это когда я нажимаю на одну из кнопок, я хочу, чтобы изображение в центре экрана без видимых переключений переходило на другое изображение.
В настоящее время я не использую какие-либо темы, хотя из того, что я собрал, мне нужно?
Или мне просто нужно нажать новый экран в моем приемнике кнопок и вызвать конструктор класса и перестроить страницу с различными изображениями?
Извините, если это неясно, я был бы очень признателен за некоторыеОсновная информация о том, как это сделать, или ссылка, которая объясняет подробное обновление страницы для Blackberry!
Большое спасибо
РЕДАКТИРОВАТЬ: Хорошо, вот очень маленькая часть моего кода:
Это в основном последнее, что я пробовал в слушателях, я не знаю, как изменить изображение (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