본문 바로가기

RecyclerView

(3)
[Kotlin] Recyclerview click Event (람다 함수 사용) 이번에는 코틀린의 고차 함수와 람다 표현식을 사용해 RecyclerView에 Click Event를 추가해보겠습니다. 결과 과일 이름 리스트를 보여주고, 텍스트 뷰 하나만 있는 매우 심플한 Recyclerview입니다. 클릭했을 경우 클릭된 과일의 이름을 토스트 메시지로 출력하도록 해보겠습니다. 클릭 시 호출될 함수 생성 Activity 파일에 Adpater에서 호출할 함수를 생성합니다. private fun listItemClicked(fruit: Fruit){ Toast.makeText(this@MainActivity, "fruit name is ${fruit.name}",Toast.LENGTH_LONG).show() } Adpater 생성자에 클릭 리스너 람다 함수를 매개 변수로 설정하기 Adpat..
모던 안드로이드 앱 만들기 (2) - MVVM 구조를 사용한 리스트 구현 저번 앱 소개에 이어서 이번 포스팅에서 만들 것은 국가 데이터를 보여주는 리스트입니다. MVVM을 적용해 앱을 만들기 전에 MVVM이 무엇인지, 각각의 역할과 사용했을 때의 이점을 살펴보겠습니다. MVVM 패턴? business logic를 뷰와 모델로부터 분리하는 아키텍쳐 패턴입니다. 구글이 권장하는 앱 아키텍쳐입니다. 앱 데이터와 상태를 저장하는 데 앱 구성요소를 사용하지 않습니다. Activity 또는 Fragment에 모든 코드를 작성하지 않습니다. 모델에서 가져온 데이터를 통해 UI를 만듭니다. 모델은 앱의 데이터 처리를 담당하는 구성요소입니다. 모델은 앱의 View 객체 및 앱 구성요소와(Activity, Fragment, Service 등) 독립되어 있으므로 앱의 수명 주기 및 관련 문제의 ..
[RecyclerView]Header와 Footer를 가진 리사이클러뷰 리사이클러뷰에 헤더와 푸터를 달아서 보여주는 리스트가 무엇을 의미하는지 알 수 있습니다. 리사이클러뷰에서는 헤더와 푸터를 적용하는 방법은 RecyclerView.Adapter의 getItemViewType 함수를 사용하면 됩니다. 리사이클러뷰는 헤더와 푸터를 각각 하나의 아이템으로 생각하기 때문에 getItemViewType 함수를 통해 보여줄 뷰가 아이템인지, 헤더, 푸터 인지에 따라 다르게 작업을 하면 됩니다. 즉 뷰홀더 레이아웃은 총 3개(아이템, 헤더, 푸터)가 필요합니다. 필요한 코드는 다음과 같습니다. - MainActivity.java public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; ArrayLi..