을 포함하는 Activity
이 있습니다. 원격 저장소 (3 가지 요청)의 데이터로 RecyclerViews
을 채워야합니다. Activity
에 여러 개의 ViewModels
을 사용할 수도 있고 더 좋은 해결책이있을 수도 있습니다 (모범 사례).여러 개의 ViewModel을 사용한 작업
답변
이 경우에는 세 가지 다른 LiveData 개체를 채우는 하나의보기 모델을 사용하는 것이 좋습니다. 이렇게하면 세 가지 요청 중 하나가 응답을받을 때마다 UI가 업데이트 될 수 있습니다. LiveData에서 RecyclerView를 사용하는 방법에 대한 자세한 내용은 Google Example을 참조하십시오.
필자는 활동 당 여러 개의보기 모델을 사용하면 복잡성이 증가하고 그 일을하는 데 어떤 가치도없는 것으로 생각됩니다.
Google 예제 링크가 작동하지 않습니다. –
감사합니다. 업데이트했습니다. – guglhupf
@guglhupf 'RecyclerViews'간의 커플 링을 줄이고 독립적으로 재사용하거나 다른 화면으로 이동할 수있는 기능이 향상되었습니다. –
the open/closed principle에 따르면 ViewModel
세 가지를 만들어야합니다. 복잡도는 그만큼 증가하지 않으며 하나의 ViewModel
을 해당 과 다른 하나를 Activity
과 매우 쉽게 이동할 수 있습니다 (또는 재사용).
물론 때로는 규칙을 위반하는 것이 좋습니다. 예를 들어, 알고있는 경우, RecyclerView
을 다시 사용하거나 다른 화면으로 옮길 수는 없습니다. 그러면 ViewModel
이라는 간단한 솔루션으로 이동할 수 있습니다.
(도 3 개에는 포함) ViewModel
항상 매우 간단합니다 (단 세 LiveData
필드를 채우는 단 몇 줄의 코드를) 머물 가능성이 경우, 같은 상황, 당신은이 규칙을 깰 수 있습니다.
그러나 O/CP를 위반하는 것은 좋은 습관이 아닙니다. 의식을 깨는 것입니다.
- 1. 다중 ViewModel을 사용한 하나의보기
- 2. ViewModel을 사용한 편집보기의 문제점
- 3. ViewModel을 사용한 유효성 확인
- 4. Winforms ViewModel을 사용한 데이터 바인딩
- 5. formtastic을 사용한 여러 제출 작업
- 6. WPF 중첩 ListBox ViewModel을 사용한 데이터 바인딩
- 7. Executor 프레임 워크를 사용한 여러 작업
- 8. ViewModel을 여러 개의 관련 테이블 및 저장 양식으로 작성하는 방법
- 9. Maven에서 여러 개의 antrun 작업
- 10. ViewModel을
- 11. CakePHP 여러 개의 외래 키를 사용한 성능
- 12. emberjs를 사용한 여러 개의 동영상 파일 업로드
- 13. 여러 개의 유니온을 사용한 SQL - Join 쿼리
- 14. 작업 병렬 라이브러리 - LongRunning 작업 대 여러 개의 연속 작업
- 15. 간단한 바인딩으로 여러 ViewModel을 사용하는 방법
- 16. DataContext를 사용한 많은 작업
- 17. addOperationWithBlock을 사용한 작업 순서
- 18. 임의의 정수를 사용한 작업
- 19. 데이터베이스를 사용한 작업 최적화
- 20. ViewModel을 사용하여 여러 테이블에서 데이터 가져 오기?
- 21. ViewModel을 사용하여 여러 테이블의 값이있는 페이지로드
- 22. ViewModel을 LLBLGen과 함께 사용
- 23. JQuery를 사용한 창 작업?
- 24. ToggleButton을 사용한 UiBinder 작업
- 25. 함수를 사용한 작업 calcOpticalFlowPyrLK
- 26. 클래스를 사용한 데이터베이스 작업
- 27. git을 사용한 작업 순서
- 28. FileInputStream을 사용한 다중 작업
- 29. Null을 사용한 작업
- 30. 배열을 사용한 특수 작업
Google 샘플 AAC는 1 개의 LiveData가있는 RecyclerViews의 사용을 보여주었습니다. 3 개의 LiveDatas로 3 개의 RecyclerView를 실행하려고하면 어떤 문제가 발생합니까 –