gpt4 book ai didi

Android:绑定(bind)变量并传递给包含标签布局有效吗?

转载 作者:可可西里 更新时间:2023-11-01 18:45:55 26 4
gpt4 key购买 nike

我在数据绑定(bind)方面遇到了问题。在文档中,它说我们可以使用 include 标记来托管自定义布局并将绑定(bind)变量传递给它。当我在 4.1.2 手机和模拟器上试用时,数据似乎没有绑定(bind),但只绑定(bind)了主要布局字段。

这是我的主布局代码:

<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"/>

这是布局证书:

<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" />

最佳答案

是的。 http://developer.android.com/tools/data-binding/guide.html#includes

主要布局

<data>

<variable
name="plu"
type="org.test.test.viewmodels.PluDetailViewModel" />
</data>
.
.
.
<include
layout="@layout/keypad_pludetail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
bind:plu="@{plu}"
/>

包含布局

<data>

<variable
name="plu"
type="org.test.test.viewmodels.PluDetailViewModel" />
</data>
.
.
.
<Button
android:id="@+id/keypad_accept"
style="@style/KeyPadButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@string/keypad_accept"
android:enabled="@{plu.isOK}"
android:onClick="@{plu.confirm}"
/>

在 fragment 中

    binding = DataBindingUtil.inflate(inflater, R.layout.fragment_plu_details, container, false);
binding.setPlu(pluDetailViewModel);
binding.executePendingBindings();

关于Android:绑定(bind)变量并传递给包含标签布局有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34449390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com