栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

内部类上的Android数据绑定未更新TextView

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

内部类上的Android数据绑定未更新TextView

问题在于如何将数据绑定布局与常规布局混合在一起。

如果要包括常规布局中的数据绑定布局,则需要找到该布局的根视图并对其进行调用

bind()
。也许是这样的:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_picker_dashboard);    View bindingRoot = findViewById(R.id.toolbar);    LayoutHeaderBinding binding = LayoutHeaderBinding.bind(bindingRoot);    ProfileResponse.Payload profilePayload = new ProfileResponse.Payload();    profilePayload.setFirstName("Test");    binding.setProfilePayload(profilePayload);}

但是,最好将“活动”的布局设置为数据绑定布局,而不必进行额外的工作:

<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android">    <data>        <variable name="profilePayload" type="myms.models.ProfileResponse.Payload"/>    </data>    <android.support.constraint.ConstraintLayout        android:layout_width="match_parent"        android:layout_height="match_parent">        <!-- Top header -->        <include layout="@layout/layout_header" app:profilePayload="@{profilePayload}" />        <!-- DrawerLayout -->    </android.support.constraint.ConstraintLayout></layout>

然后,您的绑定代码更加简单,并且不易出错:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    ActivityPickerDashboardBinding binding =         DataBindingUtil.setContentView(this, R.layout.activity_picker_dashboard);    ProfileResponse.Payload profilePayload = new ProfileResponse.Payload();    profilePayload.setFirstName("Test");    binding.setProfilePayload(profilePayload);}

另一方面,我认为Android数据绑定和黄油刀在功能上有很大的重叠,我建议您选择其中之一,但不要同时选择两者。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号