SongAdaptater.kt 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package io.r_a_d.radio2.ui.songs.queuelp
  2. import android.annotation.SuppressLint
  3. import android.graphics.Color
  4. import android.view.LayoutInflater
  5. import android.view.ViewGroup
  6. import androidx.constraintlayout.widget.ConstraintLayout
  7. import androidx.core.content.res.ResourcesCompat
  8. import androidx.recyclerview.widget.RecyclerView
  9. import io.r_a_d.radio2.R
  10. import io.r_a_d.radio2.colorBlue
  11. import io.r_a_d.radio2.colorWhited
  12. import io.r_a_d.radio2.playerstore.Song
  13. import kotlinx.android.synthetic.main.song_view.view.*
  14. import kotlin.collections.ArrayList
  15. class SongAdaptater(private val dataSet: ArrayList<Song>
  16. /*,
  17. context: Context,
  18. resource: Int,
  19. objects: Array<out Song>*/
  20. ) : RecyclerView.Adapter<SongAdaptater.MyViewHolder>() /*ArrayAdapter<Song>(context, resource, objects)*/ {
  21. // Provide a reference to the views for each data item
  22. // Complex data items may need more than one view per item, and
  23. // you provide access to all the views for a data item in a view holder.
  24. // Each data item is just a string in this case that is shown in a TextView.
  25. class MyViewHolder(view: ConstraintLayout) : RecyclerView.ViewHolder(view)
  26. // Create new views (invoked by the layout manager)
  27. override fun onCreateViewHolder(parent: ViewGroup,
  28. viewType: Int): MyViewHolder {
  29. // create a new view
  30. val view = LayoutInflater.from(parent.context)
  31. .inflate(R.layout.song_view, parent, false) as ConstraintLayout
  32. // set the view's size, margins, paddings and layout parameters
  33. //...
  34. return MyViewHolder(view)
  35. }
  36. // Replace the contents of a view (invoked by the layout manager)
  37. @SuppressLint("SetTextI18n")
  38. override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
  39. holder.itemView.item.text = "${dataSet[position].artist.value} - ${dataSet[position].title.value}"
  40. if (dataSet[position].type.value == 1)
  41. holder.itemView.item.setTextColor(colorBlue)
  42. else
  43. holder.itemView.item.setTextColor(colorWhited)
  44. }
  45. // Return the size of your dataset (invoked by the layout manager)
  46. override fun getItemCount() = dataSet.size
  47. /*
  48. override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
  49. // create a new view
  50. val view = LayoutInflater.from(parent.context)
  51. .inflate(R.layout.song_view, parent, false) as ConstraintLayout
  52. }
  53. */
  54. }