Портирование кода для использования функции DataBinding и раздувание макета сгенерированным кодом.
Ниже приведен код моего фрагмента
private lateinit var binding: FragmentFormBinding
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = DataBindingUtil.setContentView(activity!!, R.layout.fragment_form)
return binding.root
// return inflater.inflate(R.layout.fragment_form, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.user = User("john", "doe")
}
Мой код формы фрагмента выглядит следующим образом с одним поле для имени.
фрагмент_формы
<layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable name="user" type="components.User" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/first"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:ems="10"
android:hint="@string/first"
android:inputType="text"
android:text="@{user.first}" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Ошибка