Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Context и конструктор


Автор: gpepsi 18.8.2012, 14:29
Activity унаследован от ContextWrapper, который в конструкторе требует Context.
Получается, что вызове конструктора Activity объект ContextWrapper должен быть уже создан,
а getBaseContext должен вернуть валидный контекст.

По практика показывает, что это не так. Почему?
З.Ы. Когда Context становится валидным ?

Автор: math64 20.8.2012, 10:02
Какая практика? К моменту вызова onCreate() всё нормвльно.
Констуктор же для своей Activity обычно не переопределяется.
Раз уж посмотрел исходник, и увидел от чего наследуется Activity - мог бы посмотреть и дальше.
У Activity конструктор не объявлен - значит вызывается умолчательный конструктор базового класса.
Вот он:
Код

    public ContextThemeWrapper() {
        super(null);
    }

т.е контекст в момент создания Activity - null, он кикак не может быть валидным.
Вместо конструктора используй onCreate().
PS: Этот раздел для J2ME, для Android есть отдельный раздел, в "Разработка мобильных систем"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)