java.lang.NullPointerException en un RecyclerView

Me aparece esta advertencia en un layout donde carga un RecyclerView dentro del onCreate en esta linea especififcamente en setLayoutManager

recyclerView.setLayoutManager(layoutManager);

me genera lo siguiente :

Method invocation 'setLayoutManager' may produce 'java.lang.NullPointerException

Y para solucionar esto me ofrece

assert recyclerView != null;

primero que nada quisiera saber el por que de la advertencia y si es efectiva la solución. espero sus ideas. Gracias.

2
задан 29.12.2016, 22:01
0 ответов

Ошибка показывает тебе, что этот метод может производить исключение java.lang.NullPointerException.

Это исключение, как покажи документацию, он случается ввиду следующего:

  • Называть инстанцию метода недействительного объекта.
  • Соглашаться или изменять поле недействительного объекта.
  • Получать длину недействительного как будто это был array.
  • Соглашаясь или изменяя канавки недействительного как будто это был array.
  • Бросать null как будто это была стоимость Throwable (lanzable был бы буквальным переводом, но относится друг к другу о типе объекта Java, чтобы бросать исключения).

Кроме того, приложения были бы должны бросать инстанции этого класса, чтобы показывать другие незаконные использования недействительного объекта.

Следовательно, что он показывает тебе, состоит в том, что возможно производить исключение в твоем коде, в котором ты пробовал бы реализовывать какие-то из предыдущих действий на недействительном объекте, что могло бы заканчивать твою программу.

Чтобы сохранять спины, и который это не переместило, он предлагает тебе решение. Это для того, чтобы ты защитил твой код, и не случились исключения, которые могли бы заканчивать твою программу. То, что в действительности означает этот код, состоит в том, чтобы ты применил следующее:

if(recyclerView != null){
    recyclerView.setLayoutManager(layoutManager);
}

Таким образом, если recyclerView он недействительный, он не выполнит метод setLayoutManager и, следовательно, не случится исключение java.lang.NullPointerException для этого конкретного случая.

2
ответ дан 03.12.2019, 17:56

Теги

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