320x100
네, 확인했습니다! 이전에 제가 보내드린 코드에 RecyclerView의 어댑터를 설정하는 코드가 포함되어 있었지만, 레이아웃 매니저에 대한 정보가 누락되어 있었습니다.
다시 한번, RecyclerView를 초기화하기 위해서는 다음과 같은 코드를 추가해야합니다.
// RecyclerView 객체를 참조합니다.
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
// 레이아웃 매니저를 생성합니다.
val layoutManager = LinearLayoutManager(this)
recyclerView.layoutManager = layoutManager
여기서, LinearLayoutManager
는 RecyclerView의 아이템을 세로로 쌓는 레이아웃 매니저입니다. 만약에, 가로로 아이템을 배치하기 원한다면 아래와 같은 코드로 GridLayoutManager
를 사용하여 설정해야합니다.
// RecyclerView 객체를 참조합니다.
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
// 레이아웃 매니저를 생성합니다.
val layoutManager = GridLayoutManager(this, spanCount)
recyclerView.layoutManager = layoutManager
여기서 spanCount
는 아이템을 몇 개씩 보여줄지 결정할 수 있는 값입니다.
어댑터 설정에 대해서는 이전에 제가 보내드린 코드와 동일합니다. 다시 덧붙여 설명드리면, RecyclerViewAdapter 클래스에서 ViewHolder를 상속한 클래스를 만들고, onCreateViewHolder()와 onBindViewHolder() 함수를 구현하면 됩니다.
class RecyclerViewAdapter : RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
private val itemList = mutableListOf<String>()
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val textView: TextView = itemView.findViewById(R.id.textView)
fun bind(item: String) {
textView.text = item
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_view, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = itemList[position]
holder.bind(item)
}
override fun getItemCount(): Int {
return itemList.size
}
}
위의 코드에서, onCreateViewHolder()
함수는 RecyclerView의 각각의 아이템 뷰를 위해 ViewHolder 객체를 생성합니다. 또한, onBindViewHolder()
함수는 ViewHolder와 데이터를 연결합니다. 마지막으로, getItemCount()
함수에서는 RecyclerView에 표시 할 아이템 수를 반환합니다.
이제 RecyclerView 설정에 대한 모든 정보를 확인하셨으니 참고하시기 바랍니다!
반응형
'개발 이야기 > Android (안드로이드)' 카테고리의 다른 글
[Android] Leak Canary를 이용하여 메모리 누수개선방안 (0) | 2023.08.23 |
---|---|
Android | Camera 로 부터 들어온 영상편집 (0) | 2023.07.10 |
Android RESTful 개발 Kotlin 코드 (0) | 2023.06.26 |
Android RESTful 개발 Java 코드 (0) | 2023.06.26 |
Android | 영상통화자료 (2) | 2023.06.02 |
Java 에서는 static을 C 와 다르게 사용하자 (0) | 2020.05.05 |
Android Hardware Acceleration 옵션 꺼기 (0) | 2017.07.07 |
범용성과 독립성 (0) | 2016.12.09 |