Pracuję nad aplikacją na Androida używającą dataBinding i obecnie próbuję dodać wtyczkę safe-args, ale po włączeniu wtyczki nie mogę już uzyskać widoku głównego za pośrednictwem bind.root - Android Studio wyświetla błąd:
Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io
Jak mogę uzyskać powiązanie danych i bezpieczne argumenty, aby wspólnie grać dobrze?
Pamiętaj, że gdy fragment kodu znajduje się w Kotlinie, chętnie przyjmę odpowiedzi w języku Java. Nie jest tak wygodne w Javie, ale mogę go łatwo przeczytać i przetłumaczyć.
Nie udało mi się znaleźć nikogo z tym samym problemem, przeglądając komunikat o błędzie i „bezpieczne argumenty”. Najpierw próbowałem ze ścieżką klasy wymienioną w dokumentach Androida tutaj: https://developer.android.com/guide/navigation/navigation-pass-data
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"
A potem znalazłem również samouczek sugerujący użycie:
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"
Oba miały ten sam problem: bind.root zgłosił błąd przy aktywowanej wtyczce
Oto moja funkcja onCreateView () dla mojego fragmentu. Ta linia zwrotna działa poprawnie, gdy funkcja bezpiecznego argumentu nie jest włączona i nie działa, gdy jest włączona
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)
return binding.root
}
Jakakolwiek pomoc w rozwiązaniu lub zrozumieniu tego problemu jest najbardziej doceniana!
źródło
Mam ten sam problem i wreszcie próbowałem
Plik -> Nieprawidłowe pamięci podręczne / Uruchom ponownie
Mi to pasuje.
źródło