Blackberry приложение показывает пустой экран - PullRequest
0 голосов
/ 25 июня 2010

Привет всем, у меня проблемы в приложении Blackberry .................

Я сделал простое приложение, оно начинается с файла с именем AppStarter

package in.EventTimer;

import net.rim.device.api.ui.UiApplication;

public class AppStarter extends UiApplication
{
    public static void main (String[] args)
    {
        AppStarter theApp = new AppStarter ();
        theApp.enterEventDispatcher ();
    }
    public AppStarter()
    {
        //display a new screen
        pushScreen (new ConnectionSettings ());
    }

}

Из этого файла AppStarter он выдвигается ко второму файлу, который является Экраном для ConnectionSettings

package in.EventTimer;

import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.MainScreen;




public class ConnectionSettings extends MainScreen
{


    public void RadioButton()
    {

    RadioButtonGroup rbg = new RadioButtonGroup();
    RadioButtonField rb1 = new RadioButtonField("tcp");
    RadioButtonField rb2 = new RadioButtonField("gprs");
    RadioButtonField rb3 = new RadioButtonField("wifi");

    rbg.add(rb1);
    rbg.add(rb2);
    rbg.add(rb3);

    }





    public boolean onClose()
    {
        Dialog.alert ("Exit Connection Settings!");
        System.exit (0);
        return true;
    }

}

Но когда я запускаю это приложение в моем симуляторе Blackberry 9700, оно просто отображает пустой белый экран, а при выходе из этого белого экрана - параметры выхода из соединения, что означает, что оно находится на экране настроек подключения, но когда я его запускаю показывает пустой белый экран ........ я пробовал много вещей, но пока не нашел решения ............ так что помогите или предложите что-нибудь.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 25 июня 2010

Попробуйте добавить следующий метод в класс ConnectionSettings:

public ConnectionSettings()
{
        super();

        LabelField title = new LabelField("HelloWorld Sample",
                LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
        setTitle(title);
        add(new RichTextField("Hello World!"));
}

Похоже, вам не хватает конструктора ... Для вашего класса MainScreen

Таким образом, окончательный код должен выглядеть следующим образом:

package in.EventTimer;

import net.rim.device.api.ui.component.*; 
import net.rim.device.api.ui.container.MainScreen;

public class ConnectionSettings extends MainScreen {

    public void RadioButton()
    {

            RadioButtonGroup rbg = new RadioButtonGroup();
            RadioButtonField rb1 = new RadioButtonField("tcp");
            RadioButtonField rb2 = new RadioButtonField("gprs");
            RadioButtonField rb3 = new RadioButtonField("wifi");

            rbg.add(rb1);
            rbg.add(rb2);
            rbg.add(rb3);

            add(rb1);  //Added by eSniff
            add(rb2);  //Added by eSniff
            add(rb3);  //Added by eSniff

    }

    //Begin added by eSniff
    public ConnectionSettings() 
    {
        super();

        LabelField title = new LabelField("APP STARTER",
            LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
        setTitle(title);
        add(new RichTextField("Hello World!"));

        RadioButton();
    }
    //End added by eSniff


    public boolean onClose()
    {
        Dialog.alert ("Exit Connection Settings!");
        System.exit (0);
        return true;
    }
}
0 голосов
/ 01 июля 2010
  1. Превратить переменную "rgb" в поле класса
  2. Определить конструктор.
  3. В этом конструкторе вы должны сначала вызвать функцию RadioButtons (), затем вызвать add (rgb) в своем конструкторе, сначала вы должны вызвать RadioButtons (), а затем вызвать add (rgb), чтобы убедиться, что ваши поля показываютна экране.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...