web-dev-qa-db-fra.com

Impossible d'obtenir la vue racine à partir de la liaison de données après avoir activé le plug-in Safe-Args

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 obtenir la liaison de données et les arguments de sécurité pour jouer à Nice ensemble?

Notez que pendant que l'extrait de code est dans Kotlin, je prendrai avec plaisir Java réponses. Pas aussi à l'aise dans 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 d'abord essayé 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'elle est activée

   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!

15
Hannah S.

J'ai le même problème, il est tellement câblé pour moi, mais renommer la mise en page fonctionnera à nouveau, essayez-le: D

10
MarkWang

J'ai le même problème et j'ai enfin essayé

Fichier -> Caches/redémarrage non valides

Ça marche pour moi.

22
Daniel Chin