Je suis en train de développer une application pour Blackberry sur OS 5. J'essaie d'avoir accès à certaines variables précédemment initialisées quand un appel est réussi. Cependant, les variables ne tiennent pas leur valeur et je ne peux pas trouver pourquoi. Lorsque l'application est lancée, testVariable est défini sur 5, tout fonctionne comme prévu.Comment accéder aux variables globales à partir d'un événement PhoneListener?
Cependant, lorsque j'essaie d'accéder à la variable de l'événement callConnected, il revient à 0. Même si je place la variable dans la classe PhoneEvents, elle revient à 0. Elle a une valeur pour PhoneEvents et une autre pour l'écran. Ces variables ne devraient-elles pas avoir une seule valeur étant donné que ce n'est pas une variable d'instance? Qu'est-ce que je fais mal? Existe-t-il un autre moyen d'avoir une variable accessible à partir de la classe PhoneEvents et de la classe TestScreen et de garder sa valeur? Merci d'avance.
public class TestApp extends UiApplication {
public TestApp() {
TestScreen screen = new TestScreen();
UiApplication.getUiApplication().pushScreen(screen);
}
public static void main(String[] args) {
Phone.addPhoneListener(new PhoneEvents());
TestApp app = new TestApp();
app.enterEventDispatcher();
}
}
// The main screen.
public class TestScreen extends MainScreen {
public TestScreen() {
this.setTitle("Test");
GlobalClass.testVariable = 5;
}
}
// A public static holding a variable I want to have access to.
public class GlobalClass {
public static int testVariable;
}
// The method that gets called when a call is made.
public class PhoneEvents implements PhoneListener {
public void callConnected(int callId) {
int x = GlobalClass.testVariable;
}
}
Merci, c'est exactement ce que j'ai fini par faire, mais ça ne cessait de m'énerver pour savoir s'il y avait autre chose qui me manquait. –