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. EditText的属性!
  2. Android(安卓)调用相册 拍照 实现系统控件缩放 切割图片
  3. android通讯录实例(二)
  4. EditText
  5. Android(安卓)样式和主题,style&theme
  6. Android软键盘弹出时把布局顶上去,控件乱套解决方法
  7. Android(安卓)ConstraintLayout 约束布局
  8. android 自定义时间控件
  9. Android应用标签栏(Tabs)设计

随机推荐

  1. Android 平台搭建
  2. android ndk开发-环境搭建(1)
  3. Android开机广播
  4. android 参数含义
  5. 为android 工程添加单元测试
  6. android 圆环(ring)drawable 画法 ——简单
  7. 那些年收藏的技术文章(一)-CSDN篇
  8. Android短信----发送流程---框架层(Framew
  9. Android_day04
  10. CSDN 很经典的博客 您值得一览