美文网首页
DataBinding笔记1

DataBinding笔记1

作者: satisfying | 来源:发表于2020-08-05 22:11 被阅读0次

    开启DataBinding

      android {
       .......
        defaultConfig {....... }
        dataBinding {
            enabled = true
        }
        buildTypes {
           ........
        }
    }
    

    需要使用DataBinding 得xml文件


    image.png

    简单使用

     <data>
            <variable
                name="name"
                type="java.lang.String" />
            <variable
                name="age"
                type="java.lang.Integer" />
            <variable
                name="phone"
                type="java.lang.String" />
        </data>
    
    <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{name}" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{String.valueOf(age)}" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{phone}" />
    

    textview 文本拼接使用 拼接字符串需要添加到string.xml文件

    <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{@string/name+name}" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{@string/age+String.valueOf(age)}" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@{@string/phone+phone}" />
    

    导入对象

     <import type="com.example.databinding.House"/>
            <variable
                name="house"
                type="House" />
    

    简单的三目运算

     <TextView
       android:text="@{@string/house_address(house.address==null? @string/house_unit : house.address)}" />
    

    上面activity 中调用方式

            val bindingBinding  = DataBindingUtil.setContentView<ActivityInFoBinding>(this@InFoActivity, R.layout.activity_in_fo)
            bindingBinding.lifecycleOwner=this
            bindingBinding.name="张三"
            bindingBinding.age=22
            bindingBinding.phone="1234567890"
            bindingBinding.house= House(address = "北京市通州区",size = 333,number = "202")
    

    相关文章

      网友评论

          本文标题:DataBinding笔记1

          本文链接:https://www.haomeiwen.com/subject/mvcarktx.html