SongAdaptater.kt 2.6KB

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