data binding library (三)

data binding library (一)

data binding 双向绑定

  1. 使用 BaseObservable 类 , @Bindable注解 和 notifyPropertyChanged()方法的使用
  2. 使用 ObservableFields 定义final属性
  3. 使用 ObservableMap
  4. 使用 ObservableArrayList
//model      这里使用的Kotlin语法,不懂的可以匹配成java的看
class TestActivityForm : BaseObservable() {
 
    //BaseObservable
    @Bindable
    var address: String = ""
        set(value) {
            field = value
            notifyPropertyChanged(BR.address)
        }
    //ObservableFields
    val userName = ObservableField()
    val password = ObservableField()
    val name = ObservableField()
    val mobile = ObservableField()
  
    }
}

//view 布局


        //ObservableMap
        
        
        
        //ObservableArrayList
        
        

        //ObservableFields, BaseObservable
        
        
        

    

        //调用方式
            android:text="@={testInfo.userName}"             //ObservableFields, BaseObservable
            android:text="@={mapTestData[`age`]}"            //ObservableMap
            android:text="@{listTestData[1]}"                //ObservableArrayList



//activity调用

    private val testActivityForm = TestActivityForm()
    private val mapTestData = ObservableArrayMap()
    private val listTestData = ObservableArrayList()

        activityMainBinding.testInfo = testActivityForm
        activityMainBinding.acitivity = this
        activityMainBinding.mapTestData = mapTestData
        activityMainBinding.listTestData = listTestData

你可能感兴趣的:(data binding library (三))