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

NullPointerException - Android

Восстановить пароль Регистрация
 
Mazilo
35 / 35 / 44
Регистрация: 31.10.2014
Сообщений: 204
30.05.2016, 18:32     NullPointerException #1
Java
1
2
3
4
5
6
7
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
           //do something
       }
});
Студия предупреждает, мол View.OnClickListener() может сгенерировать NullPointerException.

Вопрос номер 1: в каком случае будет сгенерировано это самое исключение?
Вопрос номер 2: можно как-то обезопасить приложение от краха, кроме как засунуть установку обработчика в try-catch?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2016, 18:32     NullPointerException
Посмотрите здесь:

NullPointerException Android
NullPointerException Android
NullPointerException в дополнительной активности Android
NullPointerException Android
NullPointerException Android
NullPointerException при поиске ListView Android
Recycle/CardView NullPointerException Android
NullpointerException при записи файла Android
NullPointerException Android
Android Unboxing of may produce NullPointerException
Ошибка java.lang.NullPointerException Android
NullPointerException в адаптере RecyclerView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
30.05.2016, 18:41     NullPointerException #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
студия говорит что button может быть null, например потому что кнопки с таким id не будет в разметке
надо или навешивание слушателя заключать в if (button != null )
или писать примерно так
Java
1
2
        Button button = (Button)findViewById(R.id.button);
        initButton(button);
Java
1
2
3
4
5
6
7
8
    private void initButton(Button button) {
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //do something
            }
        });
    }
Mazilo
35 / 35 / 44
Регистрация: 31.10.2014
Сообщений: 204
30.05.2016, 18:46  [ТС]     NullPointerException #3
Паблито, спасибо.
Yandex
Объявления
30.05.2016, 18:46     NullPointerException
Ответ Создать тему
Опции темы

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