Вызов может быть удобен для быстрого рефакторинга.

льку я обновил свой проект до версии 27 SDK и подключил плагины для библиотеки поддержки до версии27.0.0 Мне нужно было изменить мой код.

С участием26.1.0 Я могу просто использоватьgetContext() (с Котлинымcontext) в моемFragment (android.support.v4.app) и у меня нет проблем с nullability, но так как я использую Kotlin, у меня есть проблема с версией27.0.0, все моиcontext звонки больше не работают, мне нужен оператор безопасности, какcontext!!, но так как я лично считаю, что делать это каждый раз, когда я просто заставляю себя, я работаю в обход

override fun getContext() = super.getContext()!!

Другая вещь, которая меняется (внезапно, и именно поэтому я спрашиваю), это методыonCreateView() а такжеonViewCreated(), ВonCreateView инфлятор больше не может быть нулевым, поэтому мне нужно было изменить сигнатуру функции, чтобы она корректно переопределялась изonCreateView(inflater: LayoutInflater?...) вonCreateView(inflater: LayoutInflater...) и то же самое дляcreatedView параметр вonViewCreated.

Так что теперь мне было интересно, почему, особенно (для Kotlin) очень некрасивоgetContext() изменение было сделано и направлено кhttps://developer.android.com/sdk/support_api_diff/27.0.0/changes.html.

Но подождите, по-видимому, они не изменили это? Итак, теперь мой вопрос: делаю ли я что-то не так или они действительно это изменили, и если да, то я могу спросить их, почему?

Кстати, то же самое относится и кgetActivity(), Я думаюmHost == null проверка была добавлена ​​иgetActivity метод даже окончательный, поэтому я не могу использовать свой обходной путь, что делает его очень и очень уродливым. На самом деле в исходных файлах методы выглядят одинаково, но26.1.0 имеет тип возврата KotlinContext! а также27.0.0 тип возвратаContext?.

Ответы на вопрос(1)

Ваш ответ на вопрос