ViewBinding使用详解

  • 使用ViewBinding时需要先在build.gradle文件中声明

        //老版本viewBinding {enabled = true}//新版本buildFeatures {viewBinding = true}
    
  • 生成绑定类时忽略某个布局文件,请将 tools:viewBindingIgnore="true" 属性添加到相应布局文件的根视图中:

    <LinearLayout...tools:viewBindingIgnore="true" >...
    </LinearLayout>
    
  • 使用

    假设activity_main.xml为布局文件,所生成的绑定类的名称就为 ActivityMainBinding

        private lateinit var binding: ResultProfileBindingoverride fun onCreate(savedInstanceState: Bundle) {super.onCreate(savedInstanceState)binding = ResultProfileBinding.inflate(layoutInflater)val view = binding.rootsetContentView(view)binding.name.text = viewModel.namebinding.button.setOnClickListener {  }}
    
  • 在Fragment中的视图绑定

    kotlin

        private var _binding: ResultProfileBinding? = null// This property is only valid between onCreateView and// onDestroyView.private val binding get() = _binding!!override fun onCreateView(inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?): View? {_binding = ResultProfileBinding.inflate(inflater, container, false)val view = binding.rootreturn view}override fun onDestroyView() {super.onDestroyView()_binding = null}

    java

        private ResultProfileBinding binding;@Overridepublic View onCreateView (LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {binding = ResultProfileBinding.inflate(inflater, container, false);View view = binding.getRoot();return view;}@Overridepublic void onDestroyView() {super.onDestroyView();binding = null;}
  • 视图绑定不支持布局变量或布局表达式,因此不能用于直接在 XML 布局文件中声明动态界面内容。

  • 视图绑定不支持双向数据绑定。

ViewBinding使用详解相关推荐

  1. Jetpack Compose入门详解(实时更新)

    Jetpack Compose入门详解 前排提醒 前言(Compose是什么) 1.实战准备 一.优势与缺点 二.前四课 三.标准布局组件 1.Column 2.Row 3.Box 四.xml和com ...

  2. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  3. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  4. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  5. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  6. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  7. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

  8. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  9. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  10. pytorch nn.LSTM()参数详解

    输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...

最新文章

  1. 使用rsync同步linux服务器上的文件到windows上
  2. 如何阻止ajax自动重定向_重发和重定向有什么区别与重定向应用
  3. idea设置启动时打开欢迎页
  4. JSON.stringify()中文乱码
  5. 沃舍尔算法_[数据结构拾遗]图的最短路径算法
  6. CF650E Clockwork Bomb(树上构造类问题、并查集)
  7. 【POJ - 3744】Scout YYF I(概率dp,矩阵快速幂优化dp)
  8. github 开源 代码 学习 集合(转载)
  9. 关于如何破坏单例我说了好几种方式,面试官却说:我其实随便问问,没想到你真会...
  10. android录音播放并上传
  11. BZOJ4516: [Sdoi2016]生成魔咒(后缀自动机)
  12. linux phpredisAdmin安装步骤
  13. 惠普e240计算机开机,HP EliteDisplay E240 23.8 英寸显示器(符合能源之星标准)
  14. 广西工业职业技术学院计算机宿舍,广西工业职业技术学院2021年宿舍条件
  15. 0基础学RS(三)路由器基本配置
  16. 【网络】TOE、RDMA、smartNIC 是什么和区别|DPU
  17. 联想Y410pY510p外置显卡Vbios,Y400Y500外置显卡VBIOS, ULTRABAY白名单,卡白名单。
  18. 人体姿态估计——PBN
  19. c语言实现单链表的创建(完整版)
  20. CAD 随机卵石混凝土 混凝土细观 卵石混凝土模型

热门文章

  1. jodconverter下载地址
  2. Router路由详解
  3. scrapy爬取晋江免费小说(章节)+ cookie爬vip章节
  4. Docker容器网络模式与数据管理
  5. (html)音乐之原生js简单的歌词滚动hah
  6. mysql查询某学期开设的课程_求各学期开设的课程门数
  7. 织梦CMS插件-支持dedeCMS各大主题
  8. CM311-1-CH(JL)-YST_905L3(B)-安卓9.0-原生设置-完美AI语音精简线刷固件包
  9. 南京计算机徐宪忠,nakaga
  10. android4.0root,最强大一键ROOT 轻松搞定安卓4.0