zoukankan      html  css  js  c++  java
  • 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步了

  • 相关阅读:
    使用JS实现网页动态换肤
    数据库更新Sql脚本总结
    Javascript无刷新获取当前时间
    ASP.NET将网页设为桌面图标实现
    解决在IE浏览器中resize事件执行多次
    linux编译安装gcc5.3.0
    JAVA抽象类和接口
    JAVA内部类
    推测竞赛中测试集的正负比例
    Codeforces Round #742 (Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/changyiqiang/p/14917539.html
Copyright © 2011-2022 走看看