android RecyclerView example kotlin

recyclerview 를 이용해서 예제를 만들어 본다.

kotlin 으로 만들어 보겠다.


기본 예제 소스 가져온곳

https://yunaaaas.tistory.com/43

여긴 binding view 가 적용되지 않았다.

그냥 기본 소스이다.


안드로이드 스튜디오에서 프로젝트 만들때 잘 선택해야 한다.

지금 버전은 default 가 view binding 이 되어 있다.



Empty Activity 를 선택하면 아무것도 없다.

여기에 적용한다.


app 아래에 build.gradle 에 implement 를 추가한다.


row item 의 xml 을 추가한다.





mainactivity layout 에도 추가한다.



adapter 를 추가한다.
이때 먼저 해야 하는것이 data class 를 우선 추가한다.



여기서 사용하는 example 에는 image 를 로딩하는 것이 glide 를 사용하고 있다.
링크만 참조 하기 바란다. 나는 그냥 iamgeview 쪽을 주석처리하겠다.


이제 mainactivity 를 구현한다.
기존 소스는 버그가 있다.
findviewby 를 사용해서 구현하였는데
rv_profile 을 구현하지 않았다.
당연히 소스도 돌아가지 않을 것이다.
그래서, 이전 방식 찾아서 구현하였다.


동작한다.

이방식은 이전에 자바할때 사용하는 방식이다.
요즘은 이렇게 구현하지 않는다.
view binding 을 기본적으로 사용하기 때문에 fidnviewby 를 이용한 소스는 옛날 소스라고 보면 된다.

기존 예제는 full source 가 없는 것 같아서 github에 올려 놓도록 한다.
여기에서 viewbinding 을 적용한 것을 만들어 보겠다.
간단하다.

build.grade 에 viewBinding 을  추가하면 된다.

android studio 에서 empty activity 로 만들면 위의 내용이 없다.
하지만 basic activity 로 하면 있다.
( basic 으로 만들면 activity + fragment 형태로 만들어 진다. 그리고,  floating buttion 이랑 appbar 도 있어 삭제할 내용이 더 많아진다. ) 

일단 이건 그렇다 치고 일단 적용한다.

mainactivity 쪽 소스만 빼고 다 똑같을 거니깐 일단 복사해서 가져온다.

그리고, mainactivity 에서 view binding 관련만 적용해 본다.


1번과 같이 정상적으로 동작한다.



여기까지 하면 activity 에 view binding 은 적용이 되었다.



하지만, 이걸 할려고 viewbinding 예제를 만든게 아니다.
adapter 에 남아 있는 findbyview 도 binding 으로 처리하고 싶어 이렇게 글을 만들고 있다.


이 부분도 viewbinding  형태로 변경해 본다.


 res 에 layout 에 있는 item 을 기준으로 bind 해서 연결하면 간단히 구현할수 있다.

여기까지가 bind view 를 적용한 내용이다.


이제 여기서, 다시 multi item 을 가지는 recyclerview 를 구현해 보도록 하자.
이건 다음글에서 정리하자.

댓글

이 블로그의 인기 게시물

mount 명령 ( 읽기 권한만 있는놈 쓰기 권한 주기 )

c# mqtt client example

비글본 블랙 고정 아이피 설정