Cześć, próbuję zaimplementować dataBinding. Do gradle dodaję:
apply plugin: 'kotlin-kapt'
dataBinding {
enabled true }
//ReactiveX
implementation "com.jakewharton.rxbinding2:rxbinding:$rxjava2_version"
implementation "io.reactivex.rxjava2:rxandroid:$rxandroid_version"
implementation "io.reactivex.rxjava2:rxjava:$rxjava2_version"
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
// Lifecycle components
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
androidTestImplementation "androidx.arch.core:core-testing:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha04"
kapt{generateStubs = true}
Wszystko tam gdzie powinno być. Fragment wygląda tak
class MainFragment : Fragment() {
private lateinit var binding: FragmentMainBinding
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
binding = FragmentMainBinding.inflate(inflater)
return binding.root
}
}
FragmentMainBinding podświetla się na czerwono i widnieje napis "Unresolved reference: FragmentMainBinding"
dodana zawartość
Po przespanej nocy znalazłem rozwiązanie 🙂 W pliku XML gdzie jest nasz layout trzeba go umieścić w:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<!--nasz_layout-->
</layout>
dodana zawartość
Po przespanej nocy znalazłem rozwiązanie 🙂 W pliku XML gdzie jest nasz layout trzeba go umieścić w:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<!--nasz_layout-->
</layout>