Güvenli bağımsız değişken eklentisini etkinleştirdikten sonra Veri Bağlamasından Kök Görünümü alınamıyor


15

DataBinding kullanarak bir Android uygulaması üzerinde çalışıyorum ve şu anda safe-args eklentisini eklemeye çalışıyorum, ancak eklentiyi etkinleştirdikten sonra artık bağlama.root aracılığıyla kök görünümü alamıyorum - Android Studio hata veriyor:

Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io

Birlikte güzel oynamak için veri tabanı ve güvenli argümanları nasıl edinebilirim?

Kod pasajı Kotlin'deyken mutlu bir şekilde Java cevapları alacağımı unutmayın. Java kadar rahat değil ama kolayca okuyabilir ve tercüme edebilirim.

Hata mesajını ve "güvenli argümanlar" ı Google ile aynı soruna sahip başka birini bulamadım. İlk önce burada Android belgelerinde listelenen sınıfyolunu denedim: https://developer.android.com/guide/navigation/navigation-pass-data

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"

Ve sonra da kullandığımı gösteren bir öğretici buldum:

classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"

Her ikisinde de aynı sorun vardı: bağlayıcı.root eklentinin etkinleştirilmesi ile hata verdi

İşte benim parçası için benim onCreateView (). Güvenli dönüşler etkinleştirilmediğinde bu dönüş çizgisi düzgün çalışıyor ve etkinleştirildiğinde çalışmıyor

   override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)

    return binding.root
}

Bu sorunu çözen veya anlayan herhangi bir yardım en çok takdir edilmektedir!

Yanıtlar:


11

Aynı sorunum var, benim için çok kablolu, ancak sadece düzeni yeniden çalışacak şekilde yeniden adlandırın, deneyin: D


2
Bu hile yaptı, garip bir şekilde, teşekkürler. Aynı sorun ile buraya gelen diğerleri için, tek yapmam gereken refactor> bağlama.root tanımayan sınıfla ilişkili düzen xml dosyasını yeniden adlandırmak oldu. Ayrıca, ciltleme için otomatik oluşturulan sınıf türünü de yeniden adlandırmanız gerekir. Bunu yaptıktan sonra, her şey düzgün çalıştı ve hatta orijinal isme yeniden adını verebildim. Bu projeyi yeniden inşa nasıl bir şey yaptı emin değilim ..
Hannah S.

Ayrıca, güvenli değişkenlerle ilgili sorunlar nedeniyle buradaysanız, bunun yerine paylaşılan bir ViewModel ve LiveData kullanmayı düşünebilirsiniz. Şimdi kullandığım şey bu, çünkü güvenli arglara takılı kaldığımda devam etmek zorunda kaldım ve çok daha mutluyum
Hannah S.

24

Aynı sorunum var ve sonunda denedim

Dosya -> Geçersiz Önbellekler / Yeniden Başlatma

Benim için çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.