728x90

0. 토이 프로젝트를 진행하면서 알게된 것들에 대해서 정리하고 이를 누군가 봄으로써 편하길 바라며 정리합니다.
이 글에선 자바 코드와 코틀린 코드를 혼용하여 사용합니다.

1. 이전 글에 이어서 클릭 구현에 대해 알아봅니다.

2. 자바나 코틀린이나 코드 구현이 비슷함으로 보면서 전체 흐름을 이해하는 것을 추천드립니다.


메인 액티비티 xml에 리사이클러뷰를 설정한 모습
리사이클러뷰에 들어가는 list xml을 만들어준 모습

간단하게 텍스트뷰만 사용하여 만들었다. 실제 앱을 만든다면 조금 더 복잡하게 많은 것들이 들어간다.

1. 먼저 과일 이름을 넣은 배열을 하나 만들어본다.

2. 먼저 안드로이드 개발자 홈페이지에서 코드를 봅니다

developer.android.com/guide/topics/ui/layout/recyclerview?hl=ko

 

RecyclerView로 동적 목록 만들기  |  Android 개발자  |  Android Developers

RecyclerView로 동적 목록 만들기   Android Jetpack의 구성요소 RecyclerView를 사용하면 대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 R

developer.android.com

코틀린으로는 init을 사용하여
자바는 getTextView()도 만들어준 모습이다.

또한 읽어보면 click listener를 ViewHolder에 구현하라고 적혀있다.

구글링이나 유튜브를 통해서 보다보면 코틀린으로 apply를 사용하여 아래 처럼 구현하기도 한다.

그렇지만 이 코드는 ViewHolder클래스 내에서 구현하는 것과 동일하기 때문에 Android Developer처럼 구현하면 된다.


여담

공지 관련 앱을 만들고 있다보니 RecycerView에 구현되어야하는 기능이 2가지가 있었다.

1. 왼쪽과 오른쪽 2가지의 RecycerView가 존재하고 각각 클릭시 주황색/푸른색으로 클릭 표시가 되어야한다.

이는 위와 찾아본 정보와 같이 ViewHolder클래스에 구현하면 쉽게 구현이 가능했다.

2. 왼쪽을 누를 때 오른쪽에 나오는 값이 변동되어야한다.
변동되어야하는 규칙
- 1. 간호대학을 선택시 간호학과가 나온다.
- 2. 동물생명과학을 누를 시 동물생명과학대학 학과들이 추가적으로 나온다.
즉, 왼쪽에 누르는 값이 변동되면서 오른쪽에 나오는 값들이 다중 선택되어 나타난다.

상단 2개 선택
1, 3 선택

어떻게 구현되어야할까?

먼저 보다보면 왼쪽 뷰 클릭시 오른쪽 뷰에 반영되는 것을 알 수 있다.
??????? 어떻게 다른 뷰에서 다른 뷰로 상호작용을 할 수 있을까?



반응형

+ Recent posts