Skip to content

Instantly share code, notes, and snippets.

View danielmalone's full-sized avatar

DJ Malone danielmalone

View GitHub Profile
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val inflater = LayoutInflater.from(parent.context)
return ViewHolder(inflater.inflate(R.layout.invoice_row, parent, false))
}
package com.danielmalone.dansinvoicing
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
class InvoicesAdapter : ListAdapter<Invoice, InvoicesAdapter.ViewHolder>(InvoicesDiff()) {
package com.danielmalone.dansinvoicing
import android.view.View
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
class InvoicesAdapter : ListAdapter<Invoice, InvoicesAdapter.ViewHolder>(InvoicesDiff()) {
class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
class InvoicesDiff : DiffUtil.ItemCallback<Invoice>() {
override fun areItemsTheSame(oldItem: Invoice, newItem: Invoice): Boolean {
return oldItem.id == newItem.id
}
override fun areContentsTheSame(oldItem: Invoice, newItem: Invoice): Boolean {
return areItemsTheSame(oldItem, newItem)
}
class InvoicesDiff : DiffUtil.ItemCallback<Invoice>() {
override fun areItemsTheSame(oldItem: Invoice, newItem: Invoice): Boolean {
}
override fun areContentsTheSame(oldItem: Invoice, newItem: Invoice): Boolean {
}
}
class InvoicesDiff : DiffUtil.ItemCallback<Invoice>() {
}
package com.danielmalone.dansinvoicing
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
class InvoicesAdapter : ListAdapter<Invoice, InvoicesAdapter.ViewHolder>(InvoicesDiff()) {
}
package com.danielmalone.dansinvoicing
data class Invoice(
val id: String,
val title: String,
val client: String,
val date: String
)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
fun bind(item: Podcast) {
itemView.podcastTitle.text = item.title
}