java.lang.NullPointerException at android.content.ContextWrapper.getPackageName

268
03 мая 2017, 08:48

Здравствуйте.подключаю api twitter в приложении. Возникла такая проблем: В один из методов надо передать активити, далее эта активити передается через ряд методов и в конечном счете используется в таком методе

Intent newIntent(Activity activity) {
    Intent intent = new Intent(activity, MainActivity.class);
    return intent;
}

но тут вываливается ошибка java.lang.NullPointerException at android.content.ContextWrapper.getPackageName. Сама активити создается следующим образом

new Activity(){
         @Override
          public void startActivityForResult(@RequiresPermission Intent intent, int requestCode) {
             fragment.startActivityForResult(intent, requestCode);
          }

           @Override
           public PackageManager getPackageManager() {
              return fragment.getContext().getPackageManager();
          }};

где fragment - фрагмент который передается сверху. Прошу знающих людей подсказать как устранить данную ошибку.

Answer 1

Нельзя так создавать Activity - тупым вызовом конструктора Activity не создается. Создание Activity прерогатива операционной системы. Ваша задача описать Activity: продекларировать ее в манифесте и реализовать методы типа onCreate() и проч.

READ ALSO
Рабочий пример кода с onRestoreInstanceState Часть 2

Рабочий пример кода с onRestoreInstanceState Часть 2

Извиняюсь что наплодил похожих вопросов - просто не смог вставить код в прошлый вопрос: Рабочий пример кода с onRestoreInstanceState

213
Условие для ввода

Условие для ввода

При входе в приложение стоит пинкод, хочу сделать следующую зависимость:

217
Как выровнять текст по центру картинки?

Как выровнять текст по центру картинки?

Рисую текст на картинкеКак этот текст разместить (по горизонтали) по центру?

410
Проблема с циклом с большим объемом данных

Проблема с циклом с большим объемом данных

Добрый деньУ меня есть массив int[] размер 60480, для удобства мне нужно раскидать данные по 7 "ячейкам", для этого я использую конструкцию ArrayList<ArrayList<Integer>>...

253