Поп на главный экран - PullRequest
       1

Поп на главный экран

1 голос
/ 05 декабря 2011

В моем приложении я добавляю несколько экранов один за другим, и мне нужно в любой момент перейти на главный экран. Есть ли способ узнать, является ли активный экран первым? Или, может быть, есть какая-либо функция для перехода на корневой экран без цикла перехода к предыдущим?


РЕДАКТИРОВАТЬ Другими словами, мне нужно, чтобы мое приложение переходило к предыдущему экрану при нажатии на кнопку «назад» ежевики (оно делает это без какого-либо дополнительного кода) и переходило на экран, сначала пользователь видит когда запускается это приложение, нажмите на кнопку «Домой» в моем пользовательском интерфейсе

Ответы [ 3 ]

6 голосов
/ 05 декабря 2011

Это поможет вам в любое время и в любом месте:

Запишите этот метод в классе запуска ( StartUp.java ):

public static void popupScreens()
{
    int screenCount = UiApplication.getUiApplication().getScreenCount();//Gives how many screens are active state in background;
    for (int i = 0; i < screenCount; i++) 
    {
        Screen screen = UiApplication.getUiApplication().getActiveScreen();
        UiApplication.getUiApplication().popScreen(screen);
    }
}

и вызовите этот метод в любом месте с именем класса (например: StartUp.popupScreens ) в любом месте, после чего он отобразит все экраны в стеке.

1 голос
/ 05 декабря 2011

Во-первых, вам нужно организовать свои экраны, логику приложения и четко определить, какие экраны вы хотите видеть в стеке пользовательского интерфейса, а какие - нет. Для тех экранов, которые не обязательно должны быть в стеке пользовательского интерфейса, вы можете автоматически отклонять их, когда поверх него нажимают другой экран:

class SplashScreen extends FullScreen
{

protected void onObscured()
{
  close();
}
}
0 голосов
/ 05 декабря 2011

Добавьте меню на экран для опции Gotohomescreen примерно так.Просто выдвиньте активный экран из стека дисплея и нажмите ваш домашний экран из метода menus's run().Для качественно.Если вы хотите вернуться в свое приложение, вы можете открыть активный экран, и он перейдет на тот экран, откуда вы пришли. Предположим, что вы добавили backButton, вы можете просто переопределить метод кнопки fieldzed и in fieldagedметод сделать что-то вроде этого.

if(field == backbutton) {
            UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());             
        }  

здесь используется ваш ответ

Экран вверху стека - это активный экран, который видит пользователь устройства BlackBerry.Когда приложение устройства BlackBerry отображает экран, оно толкает экран на вершину стека.Когда приложение устройства BlackBerry закрывает экран, оно удаляет экран с верхней части стека и отображает следующий экран в стеке, перерисовывая его по мере необходимости.Каждый экран может появиться только один раз в стеке дисплея.BlackBerry JVM throws a runtime exception, если экран, который приложение устройства BlackBerry помещает в стек, уже существует.Приложение устройства BlackBerry должно удалять экраны из стека дисплея, когда пользователь устройства BlackBerry завершает взаимодействие с ними, чтобы приложение устройства BlackBerry эффективно использовало память

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...