Я разрабатываю приложение для Blackberry на OS 5. Я пытаюсь получить доступ к некоторым ранее инициализированным переменным, когда вызов будет успешно выполнен. Тем не менее, переменные не содержат свое значение, и я не могу найти, почему.
Когда приложение запускается, testVariable устанавливается в 5, все работает как положено. Однако, когда я пытаюсь получить доступ к переменной из события callConnected, она возвращается в 0. Даже если я помещаю переменную в класс PhoneEvents, она все равно возвращается к 0. У нее есть одно значение для PhoneEvents и другое для экрана. Разве эти переменные не должны иметь только одно значение, учитывая, что это не переменная экземпляра? Что я делаю неправильно? Есть ли другой способ получить доступ к переменной из класса PhoneEvents и класса TestScreen и сохранить ее значение? Заранее спасибо.
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;
}
}