Tôi có một Activity
có chứa 3 RecyclerViews
. Tôi cần điền số RecyclerViews
với dữ liệu từ kho lưu trữ từ xa (3 yêu cầu khác nhau). Tôi có thể sử dụng nhiều số ViewModels
trong số Activity
hoặc có giải pháp nào tốt hơn hay không (thực hành tốt nhất).Hoạt động với nhiều Chế độ xem
Trả lời
Trong trường hợp này, tôi khuyên bạn nên sử dụng một mô hình chế độ xem có ba đối tượng LiveData khác nhau. Bằng cách này, giao diện người dùng có thể được cập nhật bất cứ khi nào một trong ba yêu cầu của bạn nhận được phản hồi. Để biết chi tiết về cách sử dụng RecyclerView với LiveData, hãy xem Google Example.
Tôi nghĩ rằng có nhiều chế độ xem cho mỗi hoạt động chỉ làm tăng độ phức tạp và tôi không thấy bất kỳ giá trị nào khi thực hiện điều đó.
Liên kết mẫu của Google đã chết. –
cảm ơn, tôi đã cập nhật nó – guglhupf
@guglhupf Có một giá trị khi làm điều đó: giảm ghép nối giữa 'RecyclerViews' và tăng khả năng sử dụng lại chúng một cách độc lập hoặc chuyển sang màn hình khác. –
Theo the open/closed principle, bạn nên tạo ba khác nhau ViewModel
s. Độ phức tạp không tăng lên nhiều, và bạn đang có khả năng di chuyển một ViewModel
(hoặc chỉ sử dụng lại nó) với RecyclerView
tương ứng với một Activity
khác rất dễ dàng.
Tất nhiên, đôi khi vi phạm quy tắc có ý nghĩa - ví dụ nếu bạn biết, không có cơ hội, RecyclerView
sẽ được sử dụng lại hoặc di chuyển sang màn hình khác, sau đó bạn có thể thực hiện giải pháp đơn giản hơn với ViewModel
.
Tình huống tương tự nếu ViewModel
(ngay cả với 3 danh sách) có khả năng luôn luôn đơn giản (chỉ ba trường LiveData
, chỉ một vài dòng mã để điền chúng), bạn có thể phá quy tắc này.
Tuy nhiên, vi phạm O/CP không phải là một thực hành tốt - đó chỉ là vi phạm quy tắc có ý thức.
- 1. Android: Hoạt động đơn lẻ, nhiều chế độ xem
- 2. Chế độ xem Laravel không hoạt động
- 3. Liên kết nhiều chế độ xem với nhiều chế độ xem
- 4. Xóa Chế độ xem khỏi Hoạt động
- 5. Hoạt ảnh đơn lẻ - Nhiều chế độ xem
- 6. Android: Nhiều chế độ xem cho chế độ xem tùy chỉnh với bố cục hiện tại
- 7. Góc ui-router: chế độ xem lồng nhau so với nhiều chế độ xem
- 8. Nhiều Chế độ xem được liên kết với một chế độ xem
- 9. iOS - UISplitViewController với bảng phân cảnh - nhiều chế độ xem chính và nhiều chế độ xem chi tiết
- 10. Nhiều PickerViews trong một Chế độ xem?
- 11. Android lưu trữ Hoạt động từ chế độ xem
- 12. XCode 6 Chế độ xem UICollectionviewvới thẻ không hoạt động
- 13. Hỗ trợ nhiều chế độ xem chồng chéo bề mặt đang hoạt động trong Android
- 14. Tạo hai trang hoạt động trong một chế độ xem
- 15. Tại sao chế độ xem của tôi hoạt động 404?
- 16. Mẫu "Một hoạt động, nhiều chế độ xem": Ưu điểm và nhược điểm
- 17. Cách ẩn chế độ xem với hoạt ảnh
- 18. Cách thêm chế độ xem phụ với hoạt ảnh lật?
- 19. Thêm nhiều chế độ xem vào Bộ định tuyến hoặc chế độ xem (Django-Rest-Framework)
- 20. Thiết kế vật liệu Bootstrap không hoạt động đúng với chế độ xem góc động
- 21. Hoạt ảnh Android Window cùng với Chế độ xem
- 22. Chế độ xem hoạt ảnh trong Swift
- 23. Hoạt ảnh chế độ xem trên Android dừng khi chế độ xem ngoài màn hình
- 24. chuyển đổi chế độ xem của hai chế độ xem trong hình động khối lập phương
- 25. Hình ảnh nhiều chế độ xem
- 26. với mvc.net là có thể chia sẻ chế độ xem giữa nhiều hành động
- 27. KnockoutJS - Nhiều chế độ xem một phần trong chế độ xem chính?
- 28. chế độ xem xương sống với id động
- 29. emacs: HideShow có hoạt động với chế độ xml (chế độ sgml) không?
- 30. Xác thực nhiều chế độ xem một phần mà không cần BeginForm trong Chế độ xem
Mẫu Google AAC cho thấy việc sử dụng 1 RecyclerViews với 1 LiveData. Vấn đề là gì nếu bạn cố gắng làm 3 RecyclerViews với 3 LiveDatas –