fix CustomAdapter repeating issue
This commit is contained in:
parent
ac8d3ab292
commit
b94b86b866
|
@ -1,28 +0,0 @@
|
|||
package org.mosad.teapod.ui.components
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.widget.LinearLayout
|
||||
import com.bumptech.glide.Glide
|
||||
import kotlinx.android.synthetic.main.linear_media.view.*
|
||||
import org.mosad.teapod.R
|
||||
|
||||
|
||||
class MediaLinearLayout(context: Context?) : LinearLayout(context) {
|
||||
|
||||
init {
|
||||
inflate(context, R.layout.linear_media, this)
|
||||
}
|
||||
|
||||
fun setTitle(title: String): MediaLinearLayout = apply {
|
||||
text_title.text = title
|
||||
}
|
||||
|
||||
fun setPoster(url: String): MediaLinearLayout = apply {
|
||||
Glide.with(context)
|
||||
.load(url)
|
||||
.into(image_poster)
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -29,15 +29,13 @@ class LibraryFragment : Fragment() {
|
|||
val parser = AoDParser()
|
||||
mediaList = parser.listAnime()
|
||||
|
||||
println("setting adapter")
|
||||
// create and set the adapter, needs context
|
||||
withContext(Dispatchers.Main) {
|
||||
adapter = CustomAdapter(requireContext(), mediaList)//ArrayAdapter(requireContext(), R.layout.linear_media, R.id.text_title, mediaList)
|
||||
|
||||
list_library.adapter = adapter
|
||||
adapter.notifyDataSetChanged()
|
||||
//adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,26 +7,22 @@ import android.view.ViewGroup
|
|||
import android.widget.ArrayAdapter
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
import org.mosad.teapod.R
|
||||
import org.mosad.teapod.ui.components.MediaLinearLayout
|
||||
|
||||
class CustomAdapter(context: Context, private val media: ArrayList<GUIMedia>) : ArrayAdapter<GUIMedia>(context, R.layout.linear_media, media) {
|
||||
|
||||
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
|
||||
return if (convertView == null) {
|
||||
val guiMedia = LayoutInflater.from(context).inflate(R.layout.linear_media, parent, false)
|
||||
val view = convertView ?: LayoutInflater.from(context).inflate(R.layout.linear_media, parent, false)
|
||||
|
||||
val textTitle = guiMedia.findViewById<TextView>(R.id.text_title)
|
||||
val imagePoster = guiMedia.findViewById<ImageView>(R.id.image_poster)
|
||||
val textTitle = view.findViewById<TextView>(R.id.text_title)
|
||||
val imagePoster = view.findViewById<ImageView>(R.id.image_poster)
|
||||
|
||||
textTitle.text = media[position].title
|
||||
Glide.with(context).load(media[position].imageLink).into(imagePoster)
|
||||
textTitle.text = media[position].title
|
||||
Glide.with(context).load(media[position].imageLink).into(imagePoster)
|
||||
|
||||
guiMedia
|
||||
} else {
|
||||
convertView
|
||||
}
|
||||
return view
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue