Kotlin中dataBinding的使用
1、在app的build.gradle文件的android节点中添加以下内容:
buildFeatures { dataBinding = true }
2. 将光标停留在一个布局xml文件的根布局处,点击Alt+Enter,选中第一个选项:Convert to data binding layout,如下图所示:
3、生成如图的结构
此时就可以在DataBindingTemp这个Activity中使用视图绑定了。如果只是想代替findViewById,只需忽略掉xml文件中的data节点即可。
通过androidx.databinding.DataBindingUtil工具类在Activity和Fragment中使用
4、在Activity中使用
class MyLayActivity : AppCompatActivity() { private lateinit var binding: ActivityMyLayBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //setContentView(R.layout.activity_my_lay) binding = DataBindingUtil.setContentView(this,R.layout.activity_my_lay) binding.laytext.text = "这是文本显示" } }
5、在Fragment中使用
override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { mBinding=DataBindingUtil.inflate(inflater,R.layout.fragment_login,container,false) return mBinding.root }
6、DataBinding 的集成:点击AIL+Enter , 没有出现【convert to data binding layout】怎么办?
最近开始使用databinding,看了网上教程开始一通操作,谁知在xml就开始受挫,我按Alt+Enter就是不出现
convert to data binding layout的选项,在百度一通,没有看到一个说这个问题的。最后我在设置里面终于找到了,防止各位走弯路,给出解决方法:
在Android studio中选择 File ->Settings -> Intentions 然后搜索 convert to data binding layout ,打上对钩,如图:
然后就可以执行上面第 2步了