Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Willyams
1 / 1 / 1
Регистрация: 28.06.2015
Сообщений: 74
Завершенные тесты: 1
#1

Unboxing of may produce NullPointerException - Android

13.06.2016, 23:28. Просмотров 242. Ответов 3
Метки нет (Все метки)

Здравствуйте, сегодня столкнулся с незнанием, как поступить в данной ситуации. Сегодня не трогал ту часть кода, которая отвечает за данные, которые кладутся в интент. Программировал работу с базой данных. Программа запускалась исправно все было нормально. Но спустя какое то время компилятор при отладке начал выдавать ошибку в месте инициализации переменной, отвечающей за отбор данных из интента, что она может спродуцировать NullPointerException. В чем может быть проблема ?
В этом месте при отладке ошибка:
Java
1
int autoServiceNo = (Integer)getIntent().getExtras().get(EXTRA_SERVICENO);
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.autorate/com.example.user.autorate.AutoServiceDetailActivity}: java.lang.NullPointerException
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2016, 23:28     Unboxing of may produce NullPointerException
Посмотрите здесь:

NullPointerException Android
NullPointerException Android
NullPointerException в дополнительной активности Android
NullPointerException Android
NullPointerException Android
NullPointerException при поиске ListView Android
Admob NullPointerException Android
Recycle/CardView NullPointerException Android
NullPointerException Android
NullPointerException Android
Ошибка java.lang.NullPointerException Android
NullPointerException в адаптере RecyclerView Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
14.06.2016, 01:44     Unboxing of may produce NullPointerException #2
У тебя 2 метода используемых могут возвращать null: getExtras() и get(EXTRA_SERVICENO)
B unboxing(распаковка) тоже может возвращать null.
Распиши подробней код и ищи концы. Например так:
Java
1
2
3
4
        Intent intent = getIntent();
        Bundle bundle = intent.getExtras();
        Object o = bundle.get(EXTRA_SERVICENO);
        int autoServiceNo = (Integer) o;
Паблито
2064 / 1806 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
14.06.2016, 10:16     Unboxing of may produce NullPointerException #3
почему не делать так?
Java
1
int autoServiceNo = getIntent().getIntExtra(EXTRA_SERVICENO, -1);
или
Java
1
int autoServiceNo = getIntent().getExtras().getInt(EXTRA_SERVICENO);
Willyams
1 / 1 / 1
Регистрация: 28.06.2015
Сообщений: 74
Завершенные тесты: 1
20.06.2016, 22:38  [ТС]     Unboxing of may produce NullPointerException #4
Тема снова актуальна. Расписал
Цитата Сообщение от Mikalai Посмотреть сообщение
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
Object o = bundle.get(EXTRA_SERVICENO);
int autoServiceNo = (Integer) o;
как писалось выше. Теперь рантайм ошибка возникает здесь
Java
1
Object o = bundle.get(EXTRA_SERVICENO);
Ошибка типа : java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.autorate/com.example.user.autorate.AutoServiceDetailActivity}: java.lang.NullPointerException

Место где в интент кладутся данные после того как пользователь нажмет на ResyclerView на элемент:
Java
1
2
3
4
5
public void onClick(int position) {
                Intent intent = new Intent(getActivity(), AutoServiceDetailActivity.class);
                intent.putExtra(AutoServiceDetailActivity.EXTRA_SERVICENO, position);
                getActivity().startActivity(intent);
            }
В чем может быть ошибка ?

Добавлено через 6 часов 52 минуты
Изменил код на
Java
1
2
3
4
5
Bundle bundle= getIntent().getExtras();
        if(bundle != null){
            Object o = bundle.get(EXTRA_SERVICE_NO);
            autoServiceNo = (Integer.parseInt(String.valueOf(o)));
        }
Но теперь у меня фрагмент с ResyclerView вообще не появляется, как будто при старте приложения пользователь уже нажал на выбранный ему пункт в ResyclerView и включается сразу же при старте приложения окно с подробной информацией про этот выбранный пункт и всегда этот пункт первый. Что же не так ?

Добавлено через 1 минуту
Вроде ожило
Yandex
Объявления
20.06.2016, 22:38     Unboxing of may produce NullPointerException
Ответ Создать тему
Опции темы

Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru