Một trong những câu lệnh thần thánh bất cứ người học Android nào cũng từng sử dụng rất nhiều
Từ phiên bản Android M thư viện Data Binding giúp chúng ta không cần viết nhiều code để đưa data vào các component trên layout. Việc đơn giản là có các “layout template”, ” data holder” , chỉ cần định nghĩa nguồn dữ liệu, chúng sẽ tự hiển thị theo data tương ứng (Mô hình MVVM)
Cài đặt
apply plugin: 'kotlin-kapt' ==> level app
kapt 'com.android.databinding:compiler:3.0.1' ==> level app
2. Binding dữ liệu
Chúng ta sẽ bắt đầu bằng việc tạo 1 layout trong file xml .
Chúng ta cần 1 Object User để lưu thông tin user.
Tiếp đó trong MainActivity :
Khi bạn thêm thẻ <data> <variable </>…….. </data> vào trong file xmll layout thì Android Studio sẽ tự động sinh ra cho bạn class ActivityMainBinding , ta chỉ cần gọi mà không cần khai báo gì .
Phương thức binding.setXXX(object) để set dữ liệu hiển thị lên layout.
XXX tương ứng với tên thuộc tính mà ta khai báo ở thẻ <variable>
Bây h có thể run project để xem thành quả:
Đây là cách binding dữ liệu cơ bản nhất, chúng ta binding dữ liệu có sẵn hiển thị lên view. Khi có sự thay đổi dữ liệu chúng ta cần set lại thuộc tính. Trước kia khi chưa có Kotlin ta cần phải thêm annotation @Bindable, sử dụng biến kiểu ObservableField….
Tuy nhiên hiện nay Kotlin support luôn, khi có thay đổi chỉ cần set lại thuộc tính:
Kết quả như sau:
Ngoài việc sử dụng để binding text lên View thì bạn có thể dùng BindingData hiển thị bất cứ thứ gì bạn muốn lên View: