Ответ 1
Основная причина всех этих ошибок заключается в том, что в библиотеке поддержки v-27.0.0 @Nullable
и @NonNull
добавлены аннотации.
и поскольку язык kotlin знает об ошибке и имеет другой тип для Nullable
и NonNull
, в отличие от Java.
без этих аннотаций, компилятор не имеет никакого различия между ними, и Android-студия старалась изо всех сил сделать правильный тип.
TL; DR: измените типы, чтобы правильно отражать статус nullability.
Ошибка: умное нажатие на "Bundle" невозможно, потому что "аргументы" - это изменяемое свойство, которое могло быть изменено к этому времени.
изменить arguments.getString(ARG_NAME)
== > arguments?.getString(ARG_NAME) ?: ""
Ошибка: 'onCreateView' ничего не отменяет
chane:
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View?
== >
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?
Ошибка: "onViewCreated" не отменяет ничего
изменения:
override fun onViewCreated(view: View?, savedInstanceState: Bundle?)
== >
override fun onViewCreated(view: View, savedInstanceState: Bundle?)
Ошибка: тип несоответствия: выводный тип - это контекст? но Контекст ожидалось
если контекст передается как аргумент методу, просто используйте быстрое исправление, чтобы заменить getContext()
на getContext()?.let{}
то же самое относится к короткой версии kotlin context
.
else, если используется для вызова некоторого метода, замените getContext().someMethod()
на getContext()?.someMethod()
то же самое относится к короткой версии kotlin context?.someMethod()
.
Ошибка: Тип несоответствия: выводный тип - FragmentActivity? но Предполагался контекст
используйте исправление предыдущей ошибки.