Android; getApplication () возвращает ноль, не могу понять, почему - PullRequest
2 голосов
/ 28 ноября 2010

(Уже довольно поздно, поэтому я мог бы наблюдать за чем-то действительно простым ..)

У меня есть следующий класс:

public class GlobalState extends Application {
    private Stub stub = new Stub();

    public Stub getStub() {
        return stub;
    }
}

и это в моем теге приложения на Androidmanifest ..

<application android:name="com.jameselsey.observerpattern.GlobalState"
...
>

Теперь, когда я пытаюсь получить это, например, в классе Service, я получаю нулевой указатель (gs равен null), я использую следующее

private GlobalState gs = (GlobalState) getApplication();
private Stub stub = gs.getStub();

У меня есть аналогичная установка, работающая в другом приложении, поэтому я действительно не понимаю, почему это не работает, поскольку я основал это на том, которое работает.

Любые идеи

Ответы [ 2 ]

3 голосов
/ 28 ноября 2010

Обновили ли вы тег приложения в AndroidManifest.xml именем вашего класса?

<code>&#60;application android:name=".AppObject"&#62;

Вы можете найти помощь здесь

0 голосов
/ 28 ноября 2010

Вы пробовали (GlobalState) getApplicationContext(); Это единственный вызов метода, который я использую, когда использую свой собственный класс приложения. Вы также можете просто сократить имя до android:name="GlobalState" (хотя бы в 2.2)

...