Advertisement
ipdan4ik

[lb6] ItemAdapter.kt

Apr 2nd, 2021
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.16 KB | None | 0 0
  1. package com.example.lb5
  2.  
  3. import android.annotation.SuppressLint
  4. import android.content.Context
  5. import android.view.LayoutInflater
  6. import android.view.View
  7. import android.view.ViewGroup
  8. import android.widget.BaseAdapter
  9. import android.widget.TextView
  10.  
  11. class ItemAdapter(context: Context, items: ArrayList<Item>):
  12.     BaseAdapter() {
  13.     var ctx: Context = context
  14.     var objects: ArrayList<Item> = items
  15.     var inflater: LayoutInflater = ctx.
  16.     getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
  17.     // Формирование разметки, содержащей строку данных
  18.     @SuppressLint("SetTextI18n")
  19.     override fun getView(position: Int, convertView: View?,
  20.                          parent: ViewGroup?): View {
  21.         // Если разметка ещё не существует, создаём её по шаблону
  22.         var view = convertView
  23.         if (view == null)
  24.             view = inflater.inflate(R.layout.listview_layout_item,
  25.                 parent, false)
  26.         // Получение объекта с информацией о продукте
  27.         val s = objects[position]
  28.         // Заполнение элементов данными из объекта
  29.         var v = view?.findViewById(R.id.item_title) as TextView
  30.         v.text = s.title
  31.         v = view.findViewById(R.id.item_kind) as TextView
  32.         v.text = s.kind
  33.         v = view.findViewById(R.id.item_weight) as TextView
  34.         v.text = s.weight.toString() + " кг."
  35.         return view
  36.     }
  37.     // Получение элемента данных в указанной строке
  38.     override fun getItem(position: Int): Any {
  39.         return objects[position]
  40.     }
  41.     // Получение идентификатора элемента в указанной строке
  42.     // Часто вместо него возвращается позиция элемента
  43.     override fun getItemId(position: Int): Long {
  44.         return position.toLong()
  45.     }
  46.     // Получение количества элементов в списке
  47.     override fun getCount(): Int {
  48.         return objects.size
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement