java.lang.NullPointerException: попытка вызвать виртуальный метод 'void android.support.design.widget.AppBarLayout.addOnOffsetChangedListener [duplicate]

Использование хешмапа слабого ссылочного подхода, описанного выше, и в http://developer.android.com/guide/faq/framework.html кажется проблематичным для меня. Как восстанавливаются целые записи, а не только значение карты? В какой области вы его распределяете? Поскольку инфраструктура контролирует жизненный цикл Activity, при наличии одной из участвующих в ней Деяний, она подвергает риску ошибки времени выполнения, когда владелец уничтожается до своих клиентов. Если приложение принадлежит ему, некоторые действия должны явно удалить запись, чтобы избежать того, чтобы хэш-файл не включался в записи с действительным ключом и потенциально сфальсифицированной собранной слабой ссылкой. Кроме того, что должен делать клиент, когда значение, возвращаемое для ключа, является нулевым?

Мне кажется, что WeakHashMap, принадлежащий Приложению или в одном сингле, является лучшим выбором. Доступ к значению на карте осуществляется с помощью ключевого объекта, и когда нет сильных ссылок на ключ (т. Е. Все действия выполняются с ключом и на что он сопоставляется), GC может восстановить запись карты.

5
задан baniczek 9 May 2011 в 15:02
поделиться

3 ответа

Я не уверен на 100%, но вы вызываете findviewbyid в инициализации класса. Я думаю, что этот код вызывается перед методом onCreate, поэтому вид не может быть найден. Инициализация слушателей в методе oncreate должна работать.

1
ответ дан matsjoe 20 August 2018 в 06:47
поделиться

нет проблем с вашими кодами, по праву все должно работать в соответствии с нормальным.

Самая распространенная ошибка столкновения с методом null через findViewById() - это когда вы забыли позвонить setContentView() или вызвали это для неправильной компоновки.

Я предлагаю очистить ваш проект и попробовать еще раз !!!!

10
ответ дан Nilesh Rathod 20 August 2018 в 06:47
поделиться

У меня были те же проблемы, но после очистки моего проекта и запуска его снова он отлично работает.

2
ответ дан Tim 20 August 2018 в 06:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: