12/08/2018, 14:27

Data Binding trong Android (phần 2)

Trong phần 1 mình đã giới thiệu với các bạn cơ bản về Data Binding. Ở phần này mình sẽ tiếp tục hướng dẫn các bạn tìm hiểu những phần nâng cao của Data Binding trong Android. Sử dụng DataBinding trong Fragment Sử dụng Binding Data trong Fragment cũng tương tự như với Activity. Layout ...

Trong phần 1 mình đã giới thiệu với các bạn cơ bản về Data Binding. Ở phần này mình sẽ tiếp tục hướng dẫn các bạn tìm hiểu những phần nâng cao của Data Binding trong Android.

Sử dụng DataBinding trong Fragment

Sử dụng Binding Data trong Fragment cũng tương tự như với Activity.

  • Layout fragment_binding.xml

Screen Shot 2016-12-28 at 00.16.31.png

  • File BindingFragment.java

Screen Shot 2016-12-28 at 00.16.22.png

Ở đây, trong hàm OnCreateView các bạn nhìn thấy mình có return binding.getRoot(); là để trả về 1 View để Fragment sử dụng.

Sử dụng DataBinding trong RecyclerView

Hiện tại thì RecyclerView được Google khuyên dùng thay thế ListView trong Android. Nên ở bài viết này mình sẽ chỉ hướng dẫn các bạn sử dụng RecyclerView.

  • Trong phần này mình cũng sẽ sử dụng lại Object User với 2 trường như đã định nghĩa như trong phần trước.

Screen Shot 2016-12-27 at 23.31.16.png

  • Trong layout main_activity.xml

Screen Shot 2016-12-27 at 23.33.15.png

  • Trong layout item_list_user.xml

Screen Shot 2016-12-27 at 23.35.26.png

Ở đây cũng vẫn là binding data để hiển thị dữ liệu qua từng biến mà mình đã giới thiệu các bạn ở phần 1.

Bây giờ chúng ta sẽ xem file ListUserAdapter.java sẽ được định nghĩa như thế nào nhé.

Screen Shot 2016-12-27 at 23.34.59.png

Bây giờ việc còn lại khá đơn giản. Các bạn chỉ cần xét adapter cho RecyclerView là chúng ta đã hoàn thành cơ bản rồi.

  • File MainActivity.java

Screen Shot 2016-12-27 at 23.47.57.png

Nào bây giờ các bạn chạy app để xem thành quả nhé.

Screen Shot 2016-12-27 at 23.50.10.png

RecyclerView thì mặc định không có Callback trả về sự kiện onItemClickListener. Các bạn muốn bắt sự kiện này thì cần tự viết thêm Callback. Và chúng ta sẽ chỉnh sửa trong file Adapter để có thể bắt sự kiện này ngoài MainActivity nhé.

  • File ListUserAdapter.java

Screen Shot 2016-12-28 at 00.04.12.png

  • Bắt sự kiện click ngoài class MainActivity.java (line 27)

Screen Shot 2016-12-28 at 00.07.59.png

0