일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 원스휴먼 레시피
- 1203계엄령
- 원스휴먼 황금양털파밍
- 커피추천
- 원스휴먼 먹이
- 비상계엄령
- 원스휴먼 사료
- 원스휴먼 황금양
- 일론머스크
- 시그니처
- 국방부
- 윤석열
- 원스휴먼 동물
- 계엄령
- 원달러환율
- 원스휴먼 레시피 파밍
- 홈플러스 시그니처 모카골드믹스커피
- 2차 비상계엄
- 계엄령 외신반응
- 원스휴먼 스타크롬
- 믹스커피추천
- 유광버섯 통조림
- 믹스커피
- 홈플러스
- 원스휴먼 쿠폰
- 원스휴먼 황금양 구하기
- 레시피 파밍
- 원스휴먼 요리
- 2차계엄
- Today
- Total
0101011001010111
Android_ Recyclerview 만들기 본문
다음 포스팅 내용은, RecyclerView를 만들기 위한 핵심과, 방법을 차근차근 정리해 보았다.
먼저 RecyclerView는 :
기본적으로 스크롤뷰가 포함되어있으므로, 스크롤뷰를 따로 넣지 않아도 스크롤 됩니다. (리스트뷰로 표현)
RecyclerView의 기본 구조
1. Adapter(어댑터) : 데이터를 아이템 뷰과 연결하는 역할
2. ViewHolder(뷰홀더) : 아이템 뷰를 보유하고 표시하는 역할
3. LayoutManager : 아이템들의 배치 방식을 관리한다.
Adapter란 ?
Adapter(어댑터) 는 안드로이드에서 리스트나 그리드 같은 데이터를 화면에 표시하는 데 도움을 주는 역할.
리스트나 그리드에 표시할 데이터와 레이아웃을 연결하는 역할을 하며, 데이터에 변경에 따라 화면을 업데이트 합니다.
RecyclerView 사용단계
1. 의존성 추가 build.gradle 파일에 RecyclerView 의존성을 추가합니다.
implementation ("androidx.recyclerview:recyclerview:1.3.1")
2. 아이템 레이아웃 생성 : 아이템 하나의 레이아웃을 작성합니다.
3. Adapter 생성 : RecyclerView.Adapter 클래스를 상속한 Adapter 클래스를 생성합니다.
https://vjinjoov.tistory.com/112
4. ViewHolder 생성: RecyclerView.ViewHolder 클래스를 상속한 ViewHolder 클래스를 생성합니다.
(이거 홀더는, 위의 블로그에 같이 정리되어있음)
▼예시
class MyAdapter(private val items: List<String>) : RecyclerView.Adapter<MyAdapter.MyViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val binding = ItemRecyclerviewBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return Holder(binding)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.bind(items[position])
}
override fun getItemCount(): Int {
return items.size
}
inner class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(item: String) {
itemView.textView.text = item
}
}
}
5.LayoutManger설정 : RecyclerView에 사용할 레이아웃 매니저를 설정합니다.
예시 ▼
class MainActivity : AppCompatActivity() {
private lateinit var binding:ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val items = listOf("Item 1", "Item 2", "Item 3", "Item 4", "Item 5")
val adapter = MyAdapter(items)
binding.recyclerView.adapter = adapter
binding.recyclerView.layoutManager = LinearLayoutManager(this)
}
}
'Kotlin > [스스로]Kotlin&안드로이드' 카테고리의 다른 글
[Android][Kotlin] RecyclerView Update 종류와 특징 (0) | 2023.09.13 |
---|---|
Android _ RecyclerView 의 Adapter (0) | 2023.09.13 |
Android - 암시적 인텐트로 다른 액티비티 실행하기 (0) | 2023.09.05 |
4-2 인텐트 연결해보기 (0) | 2023.09.05 |
Android 입문 (복습) intent (0) | 2023.09.04 |