Fragment#getContext()
имеет значение NULL. Этот метод возвращает null
, когда ваш фрагмент отключен от активности. Приложение вылетает из-за того, что вы создаете адаптер, пока фрагмент не прикреплен, что приводит к null
, переданному конструктору.
Метод showShipments
должен вызываться только тогда, когда фрагмент прикреплен к действию , Существуют обратные вызовы onAttach()
и onDetach()
, которые помогут вам обнаружить состояние. Также isAdded()
возвращает вам логическое высказывание, если фрагмент присоединен или нет. Выберите то, что вам удобно.
Удачи!
Поскольку это запрещено спецификацией языка Java JLS 8.4.4 Общие методы , Переменные типа JLS 4.4 :
The [ 110] до того, как тип возвращаемого значения метода называется «Переменная типа», а для переменных типа допускается только extends
.
Потому что это не имеет смысла. Если метод работает для некоторого типа T
и всех его супертипов (включая Object
), почему он не должен работать и для всех других типов?
Если объявление будет разрешено, все ваши Метод знал бы о src
, что он содержит какой-то Object
. В частности, нельзя предположить, что src
содержит какие-либо виды Number
с. Но нужно предположить, что src
содержит Object
с побеждает цель универсальных, то есть разрешить типобезопасные операции над объектами неизвестного конкретного типа.