/**
* 리사이클러뷰 아답터를 상속받는 아답터
* 데이터 초기화.
*/
class CustomAdapter(private val dataSet: Array) :
RecyclerView.Adapter() {
/**
* Provide a reference to the type of views that you are using (custom ViewHolder)
*/
class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
val textView: TextView
/**홀더 초기화.*/
init {
// Define click listener for the ViewHolder's View.
v.setOnClickListener { Log.d(TAG, "Element $adapterPosition clicked.") }
textView = v.findViewById(R.id.textView)
}
}
// Create new views (invoked by the layout manager)
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
// Create a new view.
val v = LayoutInflater.from(viewGroup.context)
.inflate(R.layout.text_row_item, viewGroup, false)
return ViewHolder(v)
}
// Replace the contents of a view (invoked by the layout manager)
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
Log.d(TAG, "Element $position set.")
// Get element from your dataset at this position and replace the contents of the view
// with that element
viewHolder.textView.text = dataSet[position]
}
// Return the size of your dataset (invoked by the layout manager)
override fun getItemCount() = dataSet.size
/**로그켓 사용하는 태그 초기화.*/
companion object {
private val TAG = "CustomAdapter"
}
}
'Kotlin > source code' 카테고리의 다른 글
코디네이터레이아웃 스크롤시 터치 오류 (0) | 2018.10.17 |
---|---|
코틀린 리사이클러뷰 예제. (0) | 2018.10.15 |
코틀린 퍼미션 관련 소스.( 안드로이드 추상 클래스 이용한 퍼미션 권한 설정. 2-2) (0) | 2018.10.08 |