I have a problem with data binding. The documentation says that we can use the include tag to place a custom layout and pass it a variable binding. When I tried on the phone 4.1.2 and the emulator, the data does not seem to be connected, but only the main fields of the layout are bound.
This is my main layout code:
<layout> <data> <variable name="Job" type="nz.co.certifi.CERTIFI.Model.JobModel" /> </data>
<ScrollView android:background="@color/TransparentColor" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/scrollView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="false" android:layout_alignParentEnd="false" android:layout_alignParentBottom="true" android:layout_alignParentRight="true"> <RelativeLayout android:background="@color/TransparentColor" android:layout_width="match_parent" android:layout_height="match_parent"> <include app:Job="@{Job}" android:id="@+id/layoutCertification" layout="@layout/view_certification_control" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true"/>
This is layoutCertification:
<layout> <data> <variable name="Job" type="nz.co.certifi.CERTIFI.Model.JobModel" /> <variable name="Form" type="nz.co.certifi.CERTIFI.Model.FormROIModel" /> </data>
<nz.co.certifi.CERTIFI.Control.EditTextWithModel xmlns:sparkNS="http://schemas.android.com/apk/res/nz.co.certifi.CERTIFI" sparkNS:modelProperty="CertificateId" sparkNS:modelType="JobModel" sparkNS:validationType="required_only" android:contentDescription="Job: Form Certificate Id" sparkNS:errorRequiredMessage="@string/error_reference_no_required" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/activity_roi_step_one_hint_reference_no" android:textAppearance="?android:attr/textAppearanceLarge" android:text="@{Job == null? Form.certificateId : Job.certificateId}" android:textStyle="bold" android:id="@+id/txtReferenceNo" android:layout_alignParentTop="false" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_toLeftOf="@+id/btnReference" android:layout_toStartOf="@+id/btnReference" android:layout_centerVertical="true" />
source share