Я работаю над приложением для Android с использованием dataBinding и в настоящее время пытаюсь добавить плагин safe-args, но после включения плагина я больше не могу получить представление root с помощью binding.root - Android Studio выдает ошибку:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Как я могу получить привязку данных и безопасные аргументы, чтобы хорошо играть вместе?
Обратите внимание, что пока фрагмент кода находится в Kotlin, я с радостью приму ответы на Java. Не очень удобно в Java, но я могу легко прочитать и перевести его.
Я не смог найти никого другого с такой же проблемой, прибегая к помощи сообщения об ошибке и «безопасных аргументов». Сначала я попробовал использовать путь к классам, указанный в документации по Android: https://developer.android.com/guide/navigation/navigation-pass-data.
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
А затем также нашел учебник, предлагающий использовать:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
У обоих была одинаковая проблема: binding.root выдал ошибку при активированном плагине
Вот мой onCreateView () для моего фрагмента. Эта обратная линия работает правильно, когда safe-args не включена, и не работает, когда она включена.
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Любая помощь в решении или понимании этой проблемы наиболее ценится!
У меня та же проблема и наконец я попробовал
Файл -> Недействительные кэши / Перезагрузка
Меня устраивает.
источник