use recyclerview for episodes in media fragment

closes #3
This commit is contained in:
2020-10-12 09:54:32 +02:00
parent 7b708f5aa0
commit 0fc1d8b5c2
6 changed files with 162 additions and 73 deletions

View File

@ -8,6 +8,7 @@ class DataTypes {
}
}
// TODO rework: add type, episodes list with episode title, if type == MOVIE the first episode will be the movie stream
data class GUIMedia(val title: String, val posterLink: String, val shortDesc : String, val link: String) {
override fun toString(): String {
return title

View File

@ -0,0 +1,35 @@
package org.mosad.teapod.util
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.component_episode.view.*
import org.mosad.teapod.R
class EpisodesAdapter(private val data: List<String>) : RecyclerView.Adapter<EpisodesAdapter.MyViewHolder>() {
var onItemClick: ((String, Int) -> Unit)? = null
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.component_episode, parent, false)
return MyViewHolder(view)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.view .text_episode_title.text = data[position]
}
override fun getItemCount(): Int {
return data.size
}
inner class MyViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
init {
view.setOnClickListener {
onItemClick?.invoke(data[adapterPosition], adapterPosition)
}
}
}
}