@@ -48,16 +48,11 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
4848
4949 summaryPresenter = ShortSummaryPresenter (context)
5050
51- if (isHeaderViewNeeded) {
52- headerViewHolder = HeaderViewHolder (LayoutInflater .from(context).inflate(R .layout.view_summary_records, null ), itemClickListener)
53- summaryPresenter.create(true , headerViewHolder)
54- }
55-
5651 this .isHeaderViewNeeded = isHeaderViewNeeded
5752 this .formatController = formatController
5853 }
5954
60- override fun getItemCount () = records.size
55+ override fun getItemCount () = records.size + if (isHeaderViewNeeded) 1 else 0
6156
6257 override fun getItemViewType (position : Int ): Int = if (position == 0 && isHeaderViewNeeded) {
6358 TYPE_HEADER
@@ -96,17 +91,17 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
9691 }
9792
9893 fun setRecords (recordsList : List <Record >, report : IRecordReport ? , currency : String , ratesNeeded : List <String >) {
94+ if (isHeaderViewNeeded && records.isEmpty()) {
95+ headerViewHolder = HeaderViewHolder (LayoutInflater .from(context).inflate(R .layout.view_summary_records, null ), itemClickListener)
96+ summaryPresenter.create(true , headerViewHolder)
97+ }
9998 records = recordsList
10099 summaryPresenter.update(report, currency, ratesNeeded)
101100 notifyDataSetChanged()
102101 }
103102
104103 fun setOnItemClickListener (itemClickListener : OnItemClickListener ) {
105104 this .itemClickListener = itemClickListener
106- if (isHeaderViewNeeded) {
107- headerViewHolder = HeaderViewHolder (LayoutInflater .from(context).inflate(R .layout.view_summary_records, null ), itemClickListener)
108- summaryPresenter.create(true , headerViewHolder)
109- }
110105 }
111106
112107 class ViewHolder : RecyclerView .ViewHolder {
@@ -130,7 +125,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
130125 itemClickListener?.onItemClick(adapterPosition)
131126 }
132127 }
133-
134128 }
135129
136130 class HeaderViewHolder : RecyclerView .ViewHolder , ShortSummaryPresenter .SummaryViewInterface {
@@ -140,21 +134,13 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
140134 private var tvTotalExpense: TextView
141135 private var tvTotal: TextView
142136
143- override fun getTvPeriod (): TextView {
144- return tvPeriod
145- }
137+ override fun getTvPeriod (): TextView = tvPeriod
146138
147- override fun getTvTotalIncome (): TextView {
148- return tvTotalIncome
149- }
139+ override fun getTvTotalIncome (): TextView = tvTotalIncome
150140
151- override fun getTvTotalExpense (): TextView {
152- return tvTotalExpense
153- }
141+ override fun getTvTotalExpense (): TextView = tvTotalExpense
154142
155- override fun getTvTotal (): TextView {
156- return tvTotal
157- }
143+ override fun getTvTotal (): TextView = tvTotal
158144
159145 constructor (view: View , itemClickListener: OnItemClickListener ? ) : super (view) {
160146 tvPeriod = view.tvPeriod
@@ -166,7 +152,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
166152 itemClickListener?.onItemClick(0 )
167153 }
168154 }
169-
170155 }
171156
172157 interface OnItemClickListener {
@@ -177,7 +162,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
177162
178163 private const val TYPE_HEADER = 0
179164 private const val TYPE_ITEM = 1
180-
181165 }
182166
183167}
0 commit comments