Je travaille sur une application Android utilisant dataBinding et j'essaie actuellement d'ajouter le plug-in safe-args, mais après avoir activé le plug-in, je ne peux plus obtenir la vue racine via binding.root - Android Studio donne l'erreur:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Comment puis-je faire en sorte que la liaison de données et les arguments sûrs fonctionnent correctement ensemble?
Notez que pendant que l'extrait de code est dans Kotlin, je prendrai volontiers les réponses Java. Pas aussi confortable en Java mais je peux facilement le lire et le traduire.
Je n'ai pas pu trouver quelqu'un d'autre avec le même problème en recherchant le message d'erreur et les "arguments sûrs" sur Google. J'ai essayé d'abord avec le chemin de classe répertorié dans les documents Android ici: https://developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
Et puis aussi trouvé un tutoriel suggérant que j'utilise:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
Les deux avaient le même problème: binding.root a donné une erreur avec le plugin activé
Voici mon onCreateView () pour mon fragment. Cette ligne de retour fonctionne correctement lorsque Safe-Args n'est pas activé et ne fonctionne pas lorsqu'il est activé
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Toute aide pour résoudre ou comprendre ce problème est la plus appréciée!
J'ai le même problème et j'ai enfin essayé
Fichier -> Caches / redémarrage non valides
Ça marche pour moi.
la source