вызвать класс, который расширяет UiApplication и реализует Runnable из основного потока в Blackberry

У меня есть класс, который расширяет UiApplication и реализует Runnable. Я хочу создать экземпляр объекта этого класса на одном из моих экранов MainScreen. Этот первый класс чем-то похож на:

public class MyHelper extends UiApplication implements Runnable {

  public MyHelper() {
     //some code here
     new Thread(this).start();
  }

   public void run() {
    //another chunk here 
  }
}

В MainScreen у меня в навигации нажмите кнопку:

MyHelper helper = new MyHelper();

Отладчик останавливается на общедоступном MyHelper (). Что мне делать, чтобы правильно установить его?


person Roman    schedule 26.10.2011    source источник


Ответы (1)


Вот несколько моментов

1. когда объявляется класс, расширяющий UiApplication, он в основном создает поток пользовательского интерфейса и запускает поток на app.enterEventDispatcher (); вызов. Вам не нужно реализовывать интерфейс Runnable ни по какой причине.

public class MyHelper extends UiApplication {
        public static void main(String[] args) {
            MyHelper app = new MyHelper ();
            app.enterEventDispatcher();
        }

       public MyHelper() {
         //some code here to push screen
      }
}

2.Вы всегда можете реализовать исполняемый интерфейс для своего подкласса MainScreen.

3.Если вы хотите получить экземпляр UI-приложения, в любое время на ваших экранах вы всегда можете позвонить

UiApplication.getUiApplication().getApplication()

Это повторяет текущий экземпляр UIApplication.

person Nilanchal    schedule 26.10.2011