2017-09-27 2 views
0

에있는 RecyclerView.AdapterActivity에 속합니다. 이 Activity에는 버튼이 있습니다. 이 어댑터는 체크 박스가있는 행을 포함합니다. 이 버튼을 클릭하면 모든 행의 체크 박스를 숨기고 싶습니다. 어댑터에서 ViewHolder의 패턴을 사용하고 있습니다.버튼을 클릭 할 때 체크 박스를 숨기기

나는이 솔루션에서 생각하고 있어요 :

패스를 내 활동에 어댑터의 생성자에 매개 변수로. 이 액티비티는 버튼이 클릭되었는지 확인하는 메소드를 포함합니다. 이 버튼을 클릭하면 값이 변경되고 notifyDataSetChanged()이 호출됩니다. 따라서 어댑터는 체크 박스를 표시하거나 숨 깁니다.

MVP 방식을 기반으로하는 것이 좋습니다.

답변

0

가능한 해결책 :

  • 각 뷰 홀더는 모델 클래스와 관련이 있습니다. 이 모델 클래스에서 해당 뷰 보유자가 확인란을 표시해야 하는지를 나타내는 부울을 보유 할 수 있습니다. 버튼을 클릭하면 영향을받는 항목을 반복하고 부울을 true로 변경할 수 있습니다. 그런 다음 영향을받은 항목에 대해 변경된 데이터를 알립니다.

  • 어댑터는 모든 확인란을 숨겨야 하는지를 나타내는 부울을 포함 할 수 있습니다. 각 뷰 보유자는 생성시 참조로 어댑터를 수신하고 (나쁜 액티비티는 아님) 체크 박스를 표시할지 숨길 지 여부를이 부울 값으로 확인합니다. 버튼을 클릭하면 어댑터 부울이 업데이트되고 변경된 알림 데이터가 트리거됩니다.

+0

첫 번째 경우에 활동은 어댑터의 인스턴스를 만들고 보유합니까? 이 방법으로 버튼은 아이템을 반복하는 Adapter menthod를 호출 할 수 있습니다. – learner

+0

예. 어댑터의 인스턴스를 잡고 필요할 때 버튼을 클릭 할 때 해당 기능을 사용하십시오. – Idanatz

관련 문제