Android自家的,又可以省去findviewbyid(),而且Butterknife上大神都已经推荐使用的,还有什么理由不去改写呢

build.gradle

开启viewBinding功能

android {...viewBinding.enabled = true}

上面方法提示过时,更改为下面的方法

android {      ...    buildFeatures{        viewBinding true    }}

Activity 绑定

说明一下,这个是kotlin语法的,java语法的写法差不多,只是语法有些差异

private lateinit var mBinding: ActivityEbookBinding

//有个坑特别说明一下,这里的ActivityEbookBinding不是什么内部类,而是你的layout对应的databinding类,开始一直以为有什么包没有引入呢。

override fun onCreate(savedInstanceState: Bundle?) {    super.onCreate(savedInstanceState)    mBinding = ActivityEbookBinding.inflate(layoutInflater)    setContentView(mBinding.root)}

java

这里还是放一下java语法的代码吧,省得还没有转到kotlin的朋友看了一头雾水
这里再强调一下,记得将我代码中的ActivityEbookBinding换成你自己 layout 对应的 binding 上,命名规则就是你的layout去掉下划线然后首字母大写然后末尾加上Binding就是了

private ActivityEbookBinding mBinding;
override fun onCreate(savedInstanceState: Bundle?) {    super.onCreate(savedInstanceState)    mBinding = ActivityEbookBinding.inflate(getLayoutInflater());    setContentView(mBinding.getRoot());}

调用

mBinding中可以直接根据id找到相应的控件进行操作

mBinding.bookContent.setText("HelloWorld");

这里再记录一个小坑,就是如果你的layout里面控件的id有使用“_”下划线的话,viewbinding也会将它去掉下划线改成驼峰命名,并不是你的控件没有被认到,害我找了半天才想到这一茬。

更多相关文章

  1. Android 调用相册 拍照 实现系统控件缩放 切割图片
  2. android 自定义时间控件
  3. Android软键盘弹出时把布局顶上去,控件乱套解决方法
  4. android菜鸟学习笔记12----Android控件(一) 几个常用的简单控件
  5. Android Studio 设置控件和颜色透明度
  6. Android 高级控件ExpandabledListView详解
  7. Android中自定义带图标和清空内容按钮的EditText控件

随机推荐

  1. 动态记忆网络:向通用NLP更近一步
  2. 深入理解Java的接口和抽象类
  3. zabbix yum及package模块
  4. 图解 Java 中的数据结构及原理,不懂的也能
  5. 致老男孩教育的维权声明 - Spug运维
  6. 价值200万的小米LOGO给UI设计师带来了什
  7. 4K + 书写主动画笔:EHOMEWEI 便携触摸显示
  8. k8s亲和性应用示例
  9. 禁止网页 切屏 切换标签
  10. 运维7年,对Linux的经验总结