Простое приложение не скомпилируется в Eclipse (с плагином)? - PullRequest
0 голосов
/ 07 января 2011

Мой код, практически идентичный коду, приведенному в руководстве BlackBerry, содержит синтаксическую ошибку в Eclipse Я уверен, что есть некоторые маленькие, но я просто не вижу, но мой коллега не мог найти это также. Любые идеи очень приветствуются. спасибо!

Код:

pushScreen(new ABCScreen());

Ошибка:

Невозможно сделать статическую ссылку на нестатический метод pushScreen (Screen) от типа UiApplication

вот полный источник:

import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;


public class AwesomeBBCalculator extends UiApplication {

    public AwesomeBBCalculator() {
        AwesomeBBCalculator app = new AwesomeBBCalculator();
        app.enterEventDispatcher();
    }

    public static void main(String[] args) {
        pushScreen(new ABCScreen()); // ERROR LINE
    }

}

final class ABCScreen extends MainScreen {
    public ABCScreen() {
        super();

        // add title
        LabelField title = new LabelField("Awesome BlackBerry Calculator",
                LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
        setTitle(title);
    }

    public boolean onClose() {
        Dialog.alert("Thanks for using the Awesome BlackBerry Calculator!\nGoodbye.");
        System.exit(0);
        return true;
    }
}

Ответы [ 3 ]

3 голосов
/ 07 января 2011

Метод pushScreen может вызываться только в экземпляре UiApplication.Вы пытаетесь вызвать его из статического метода main.Это не работает.Сделайте это вместо этого ...

public void foo()
{
    pushScreen(this);
}

public static void main(String[] args)
{
    (new ABCScreen()).foo();
}
0 голосов
/ 07 декабря 2011

попробуйте создать объект для класса ABCScreen, а затем использовать его, или вы можете попробовать это также:

UiApplication.getUiApplication (). PushScreen (новый ABCScreen ());

0 голосов
/ 10 января 2011

public void class1 () {pushScreen (this);}

public static void main (String [] args) {(new NewScreen ()). Class1 ();}

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