android - Android 数据绑定 DatabindingUtil 与绑定类
问题描述
我想知道以下之间有什么区别:
binding = DataBindingUtil.inflate(inflater, R.layout.drawer_item_primary, parent, false);
对比
binding = DrawerItemPrimaryBinding.inflate(inflater, parent, false);
有性能差异吗?
每个的首选用例是什么?
任何其他信息将不胜感激!
谢谢!
解决方案
按照Android 文档Binding class's inflate
中的建议使用。
在DataBindingUtil类文档中您可以看到。
膨胀
T inflate (LayoutInflater inflater, int layoutId, ViewGroup parent, boolean attachToParent)
仅当 layoutId 事先未知时才使用此版本。否则,使用生成的 Binding 的 inflate 方法来确保类型安全的膨胀。
一种选择是膨胀,DataBindingUtil
但只有当您没有生成绑定类时。
您已经生成binding class
,使用该类而不是使用DataBindingUtil
.
在 Java 中
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
HomeFragmentBinding binding = HomeFragmentBinding.inflate(inflater, container, false);
//set binding variables here
return binding.getRoot();
}
在科特林
lateinit var binding: HomeFragmentBinding
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = HomeFragmentBinding.inflate(inflater, container, false)
return binding.root
}
如果您的布局绑定类未生成@See this answer。
推荐阅读
- java - 如何在像facebook这样的网格中显示多个图像并链接
- java - 使用休眠/弹簧引导连接 3 个表
- html - 为什么没有填满,但宽度和高度都为 100%
- excel - 在宏上输入月份
- java - 不了解病情
- javascript - 我在 asp.net 核心中使用数据表,它工作正常,但有些事情没有正常进行。例如我的分页只是一个链接
- amazon-web-services - AWS 中使用的服务列表
- javascript - 登录react-redux后如何重定向到家?
- cloud-init - 自定义用户执行云初始化
- autoencoder - 使用自动编码器与变分自动编码器生成图像