

데이터 원본을 어댑터를 통해서 가공을 받아서 형식에 맞게 어댑터 뷰 쪽으로 넘겨준다.
어댑터 뷰가 어댑터를 사용하기 위해서 :
먼저 데이터 원본이 어댑터에 설정되어야 하고, 어댑터 뷰에는 어댑터가 설정되어야 함.
어댑터 뷰는 항목을 표시하기 위해서 :
먼저 표시할 항목의 총 개수를 알 필요가 있을 것이다.
이 때, 어댑터 뷰는 어댑터의 getCount()란 메소드를 통해 현재 어댑터가 관리하는 데이터 항목의 총 개수를 반환
어댑터 뷰는 어댑터의 getView()란 메소드를 통해서 화면에 실제로 표시할 항목뷰를 얻고, 이를 화면에 표시한다.

1) BaseAdapter
2) ArrayAdapter
3) CursorAdapter
4) SimpleAdapter

이전에 사용했던 어댑터 코드
class FoodListAdapter(private val items: MutableList<FoodInfo>): BaseAdapter()
{
override fun getCount(): Int = items.size
override fun getItem(position: Int): FoodInfo = items[position]
override fun getItemId(position: Int): Long = position.toLong()
override fun getView(position: Int, view: View?, parent: ViewGroup?): View {
var convertView = view
if (convertView == null) convertView = LayoutInflater.from(parent?.context).inflate(R.layout.item_food, parent, false)
val item: FoodInfo = items[position]
convertView!!.findViewById<TextView>(R.id.tv_menu_list_name).text = item.name
convertView!!.findViewById<TextView>(R.id.tv_menu_list_intoduce).text = item.introduce
return convertView
}
}