Ich arbeite mit dataBinding an einer Android-App und versuche derzeit, das Plugin "safe-args" hinzuzufügen. Nach dem Aktivieren des Plugins kann ich die Root-Ansicht nicht mehr über binding.root abrufen. Android Studio gibt den Fehler aus:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Wie kann ich Datenbindung und sichere Argumente dazu bringen, gut zusammen zu spielen?
Beachten Sie, dass ich, während sich das Code-Snippet in Kotlin befindet, gerne Java-Antworten entgegennehme. Nicht so komfortabel in Java, aber ich kann es leicht lesen und übersetzen.
Ich konnte niemanden mit dem gleichen Problem finden, indem ich die Fehlermeldung und "sichere Argumente" googelte. Ich habe es zuerst mit dem in den Android-Dokumenten hier aufgeführten Klassenpfad versucht: https://developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
Und dann habe ich auch ein Tutorial gefunden, das mir vorschlägt:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
Beide hatten das gleiche Problem: binding.root gab bei aktiviertem Plugin einen Fehler aus
Hier ist mein onCreateView () für mein Fragment. Diese Rückleitung funktioniert ordnungsgemäß, wenn safe-args nicht aktiviert ist, und funktioniert nicht, wenn sie aktiviert ist
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Jede Hilfe beim Lösen oder Verstehen dieses Problems wird sehr geschätzt!
quelle
Ich habe das gleiche Problem und habe es endlich versucht
Datei -> Ungültige Caches / Neustart
Für mich geht das.
quelle