Skip to content

Instantly share code, notes, and snippets.

@nxsyed
Created February 19, 2019 19:12
Show Gist options
  • Save nxsyed/449f57c2284009ae2cd6fe61da7aba35 to your computer and use it in GitHub Desktop.
Save nxsyed/449f57c2284009ae2cd6fe61da7aba35 to your computer and use it in GitHub Desktop.
class CardStackAdapter(
private var spots: List<Spot> = emptyList()
) : RecyclerView.Adapter<CardStackAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val inflater = LayoutInflater.from(parent.context)
return ViewHolder(inflater.inflate(R.layout.item_spot, parent, false))
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val spot = spots[position]
holder.name.text = "${spot.id}. ${spot.name}"
holder.city.text = spot.distance + "km"
Glide.with(holder.image)
.load(spot.url)
.into(holder.image)
holder.itemView.setOnClickListener { v ->
Toast.makeText(v.context, spot.name, Toast.LENGTH_SHORT).show()
}
}
override fun getItemCount(): Int {
return spots.size
}
fun setSpots(spots: List<Spot>) {
this.spots = spots
}
fun getSpots(): List<Spot> {
return spots
}
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val name: TextView = view.findViewById(R.id.item_name)
var city: TextView = view.findViewById(R.id.item_city)
var image: ImageView = view.findViewById(R.id.item_image)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment