Skip to content

Instantly share code, notes, and snippets.

@vamsitallapudi
Created February 9, 2018 02:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vamsitallapudi/60c698a790b0d117e3f088831e1158b5 to your computer and use it in GitHub Desktop.
Save vamsitallapudi/60c698a790b0d117e3f088831e1158b5 to your computer and use it in GitHub Desktop.
package com.coderefer.newsboard
import android.support.v7.widget.RecyclerView
import android.util.Log
import android.view.View
import android.view.ViewGroup
import com.squareup.picasso.Picasso
import kotlinx.android.synthetic.main.news_item.view.*
/**
* Created by vamsitallapudi on 16/01/18.
*/
class NewsRecyclerAdapter(private val news: ArrayList<News>): RecyclerView.Adapter<NewsRecyclerAdapter.NewsHolder>() {
override fun getItemCount(): Int {
return news.size
}
override fun onBindViewHolder(holder: NewsRecyclerAdapter.NewsHolder, position: Int) {
val itemNews = news[position]
holder.bindNews(itemNews)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NewsRecyclerAdapter.NewsHolder{
val inflatedView = parent.inflate(R.layout.news_item)
return NewsHolder(inflatedView)
}
class NewsHolder(v:View) : RecyclerView.ViewHolder(v) , View.OnClickListener {
private var view : View = v
private var news : News? = null
init {
v.setOnClickListener {this}
}
override fun onClick(v: View?) {
Log.d("RecyclerView", "CLICK!")
}
fun bindNews(news: News) {
this.news = news
Picasso.with(view.context).load(news.news_image_url).into(view.iv_cover)
view.tv_heading.text = news.news_title
view.tv_source.text = news.news_source
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment