@@ -4,15 +4,14 @@ import android.content.Context
44import androidx.core.content.ContextCompat
55import androidx.recyclerview.widget.RecyclerView
66import android.view.LayoutInflater
7- import android.view.View
87import android.view.ViewGroup
98import android.widget.TextView
109import com.blogspot.e_kanivets.moneytracker.MtApp
1110import com.blogspot.e_kanivets.moneytracker.R
1211import com.blogspot.e_kanivets.moneytracker.controller.FormatController
12+ import com.blogspot.e_kanivets.moneytracker.databinding.ViewHeaderDateBinding
13+ import com.blogspot.e_kanivets.moneytracker.databinding.ViewRecordBinding
1314import com.blogspot.e_kanivets.moneytracker.entity.RecordItem
14- import kotlinx.android.synthetic.main.view_header_date.view.*
15- import kotlinx.android.synthetic.main.view_record.view.*
1615import javax.inject.Inject
1716
1817class RecordAdapter : RecyclerView .Adapter <RecyclerView .ViewHolder > {
@@ -57,12 +56,18 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
5756 TYPE_RECORD
5857 }
5958
60- override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ): RecyclerView .ViewHolder =
61- when (viewType) {
62- TYPE_RECORD -> RecordViewHolder (LayoutInflater .from(context).inflate(R .layout.view_record, parent, false ), itemClickListener)
63- TYPE_HEADER -> HeaderViewHolder (LayoutInflater .from(context).inflate(R .layout.view_header_date, parent, false ))
64- else -> summaryViewHolder
65- }
59+ override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ) = when (viewType) {
60+ TYPE_RECORD -> RecordViewHolder (
61+ ViewRecordBinding .inflate(LayoutInflater .from(context), parent, false ),
62+ itemClickListener
63+ )
64+
65+ TYPE_HEADER -> HeaderViewHolder (
66+ ViewHeaderDateBinding .inflate(LayoutInflater .from(context), parent, false )
67+ )
68+
69+ else -> summaryViewHolder
70+ }
6671
6772 override fun onBindViewHolder (viewHolder : RecyclerView .ViewHolder , position : Int ) {
6873 if (position == 0 && isSummaryViewNeeded) {
@@ -95,27 +100,25 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
95100 notifyDataSetChanged()
96101 }
97102
98- class RecordViewHolder : RecyclerView .ViewHolder {
99-
100- var tvPrice: TextView
101- var tvTitle: TextView
102- var tvCategory: TextView
103- var tvCurrency: TextView
103+ class RecordViewHolder (
104+ binding : ViewRecordBinding ,
105+ itemClickListener : ((Int ) -> Unit )? ,
106+ ) : RecyclerView.ViewHolder(binding.root) {
104107
105- constructor (view: View , itemClickListener: ((Int ) -> Unit )? ) : super (view) {
106- tvPrice = view.tvPrice
107- tvTitle = view.tvTitle
108- tvCategory = view.tvCategory
109- tvCurrency = view.tvCurrency
108+ var tvPrice: TextView = binding.tvPrice
109+ var tvTitle: TextView = binding.tvTitle
110+ var tvCategory: TextView = binding.tvCategory
111+ var tvCurrency: TextView = binding.tvCurrency
110112
111- view.setOnClickListener {
113+ init {
114+ binding.root.setOnClickListener {
112115 itemClickListener?.invoke(adapterPosition)
113116 }
114117 }
115118 }
116119
117- class HeaderViewHolder (view : View ) : RecyclerView.ViewHolder(view ) {
118- val tvDate: TextView = view .tvDate
120+ class HeaderViewHolder (binding : ViewHeaderDateBinding ) : RecyclerView.ViewHolder(binding.root ) {
121+ val tvDate: TextView = binding .tvDate
119122 }
120123
121124 companion object {
0 commit comments