Не удается получить Root View из привязки данных после включения плагина safe-args - PullRequest
1 голос
/ 23 октября 2019

Я работаю над приложением 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, но я легко могу прочитать и перевести.

Я не смог найти никого другого с такой же проблемой, прибегая к помощи сообщения об ошибке и «безопасных аргументов». Сначала я попробовал с classpath, перечисленным в документации по 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 () для моего фрагмента. Эта обратная линия работает правильно, когда безопасные аргументы не включены, и не работает, когда она включена

   override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)

    return binding.root
}

Любая помощь в решении или понимании этой проблемы наиболее ценится!

Ответы [ 2 ]

2 голосов
/ 26 октября 2019

У меня та же проблема, и, наконец, я попытался

Файл -> Недействительные кэши / Перезапуск

Это работает для меня.

2 голосов
/ 25 октября 2019

У меня та же проблема, она так для меня привязана, но просто переименуйте макет, снова будет работать, попробуйте: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...