@file:Suppress("DEPRECATION") package xyz.adjutor.aniki.manga import android.content.Intent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions import xyz.adjutor.aniki.R import xyz.adjutor.aniki.topmanga.DetailTopMangaActivity class MangaAdapter(val mangaList: List) : RecyclerView.Adapter() { // Describes an item view and its place within the RecyclerView class MangaViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val mangaTitle: TextView = itemView.findViewById(R.id.tv_title) val mangaRank: TextView = itemView.findViewById(R.id.tv_rank) val mangaScore: TextView = itemView.findViewById(R.id.tv_score) val mangaImage: ImageView = itemView.findViewById(R.id.iv_image) val cardview: CardView = itemView.findViewById(R.id.cv_cardView) } // Returns a new ViewHolder override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MangaViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_layout, parent, false) return MangaViewHolder(view) } // Returns size of data list override fun getItemCount(): Int { return mangaList.size } // Displays data at a certain position override fun onBindViewHolder(holder: MangaViewHolder, position: Int) { val currentManga: Manga = mangaList[position] holder.mangaTitle.text = currentManga.title holder.mangaRank.text = currentManga.rank.toString() holder.mangaScore.text = currentManga.score.toString() val image: String = currentManga.image_url.toString() Glide .with(holder.itemView.context) .load(image) .apply(RequestOptions().override(400)) .into(holder.mangaImage) } }