Estou trabalhando em um aplicativo Android usando dataBinding e atualmente estou tentando adicionar o plug-in safe-args, mas depois de ativar o plug-in, não consigo mais obter a visualização raiz via binding.root - o Android Studio apresenta o erro:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Como faço para que a ligação de dados e os argumentos de segurança funcionem bem juntos?
Observe que, enquanto o snippet de código estiver no Kotlin, aceitarei com satisfação as respostas Java. Não é tão confortável em Java, mas posso lê-lo e traduzi-lo facilmente.
Não consegui encontrar mais ninguém com o mesmo problema pesquisando a mensagem de erro e os "argumentos de segurança" no Google. Tentei primeiro com o caminho de classe listado nos documentos do Android aqui: https://developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
E também encontrei um tutorial sugerindo que eu use:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
Ambos tiveram o mesmo problema: binding.root deu um erro com o plugin ativado
Aqui está o meu onCreateView () para o meu fragmento. Essa linha de retorno funciona corretamente quando o safe-args não está ativado e não funciona quando está ativado
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Qualquer ajuda para resolver ou entender esse problema é muito apreciada!
fonte
Eu tenho o mesmo problema e finalmente tentei
Arquivo -> Caches / Reiniciar inválidos
Funciona para mim.
fonte