Sto lavorando su un'app Android usando dataBinding e attualmente sto provando ad aggiungere il plug-in safe-args, ma dopo aver abilitato il plug-in, non riesco più a visualizzare la root tramite binding.root - Android Studio dà l'errore:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Come posso ottenere databinding e safe-args per giocare bene insieme?
Nota che, mentre lo snippet di codice è in Kotlin, accetterò felicemente le risposte di Java. Non è così comodo in Java ma posso facilmente leggerlo e tradurlo.
Non sono stato in grado di trovare nessun altro con lo stesso problema cercando su Google il messaggio di errore e "argomenti sicuri". Ho provato prima con il percorso di classe elencato nei documenti Android qui: https://developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
E poi ho anche trovato un tutorial che mi suggerisce di usare:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
Entrambi avevano lo stesso problema: binding.root ha dato un errore con il plugin attivato
Ecco il mio onCreateView () per il mio frammento. Quella linea di ritorno funziona correttamente quando safe-args non è abilitato e non funziona quando è abilitato
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Qualsiasi aiuto per risolvere o comprendere questo problema è molto apprezzato!