android - Android数据绑定将视图导入XML
问题描述
我已经看到了两种使用数据绑定在 XML 中设置可见性的方法
<variable name="vm" type="com.example.myapp.viewmodel.MyViewmodel" /> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar style="@style/ProgressBarMediumWhite" android:visibility="@{vm.showLoader ? View.VISIBLE : View.GONE}" />
-
<variable name="vm" type="com.example.myapp.viewmodel.MyViewmodel" /> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar style="@style/ProgressBarMediumWhite" android:visibility="@{vm.showLoader}" />
我想知道哪个是更好的方法,或者两者似乎都很好。将 android 视图导入 XML 文件有多糟糕。
解决方案
第一个更好。
- 检查是否
showLoader
为真,然后将视图设置visibility
为可见,否则消失。 - 第二个是传递一个布尔值
showLoader
作为视图的可见性,这最终会引发错误。
推荐阅读
- android - 错误 CS0103:当前上下文中不存在名称“资源”
- python - 如果数据在 numpy 数组中,保存 numpy 记录文件会占用更多空间,如果数据在列表中则更少
- c# - 具有共享资源的观察者模式中的 C# 竞争条件预防
- javascript - Why do we need to wrap IIFE with ()
- php - 如何使用 htaccess 格式化网站上的 URL
- deep-learning - 将专有名词映射到实体类型的序列转换
- excel - Single excel sheet with multiple tables Laravel/Excel
- javascript - How to make a
drop down on VueJS Material using data from array? - ruby - 为什么这个值没有在 Ruby 中隐式返回?
- angular - 无法读取 Null Angular/.NET Core 的属性“消息”