Почему я получаю ошибку нулевой ссылки, используя RecyclerView с фрагментами

Вы можете попробовать использовать атрибут sandbox = "", чтобы предотвратить перенаправление iframe.

<iframe src="http://example.com/" sandbox=""></iframe>
-1
задан Vanguard 3 March 2019 в 23:44
поделиться

1 ответ

Ваш код не выполняется, потому что ваша активность пытается получить доступ к RecyclerView, который является частью макета фрагмента, и макет вашего фрагмента недоступен сразу после вызова setContentView() (даже после вашей операции replace() он доступно только асинхронно, так как вы используете commit() вместо commitNow()).

Фрагменты должны быть (в максимально возможной степени) автономными . Это означает, что если вашему Фрагменту принадлежит RecyclerView, он должен нести ответственность за загрузку в него данных, а не вашей Деятельности.

Вы должны переместить весь код в вашей Деятельности, который касается RecyclerView, во Фрагмент - в идеале, в метод, такой как onViewCreated(), который дает вам доступ к Представлению, которое вы надули в [118 ] и является подходящим местом для звонка findViewById() и получения вашего RecyclerView.

0
ответ дан ianhanniballake 3 March 2019 в 23:44
поделиться
Другие вопросы по тегам:

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