77import android .view .View ;
88import android .view .ViewGroup ;
99import android .widget .BaseAdapter ;
10- import android .widget .TextView ;
1110
1211import com .blogspot .e_kanivets .moneytracker .MtApp ;
13- import com .blogspot .e_kanivets .moneytracker .R ;
1412import com .blogspot .e_kanivets .moneytracker .controller .FormatController ;
13+ import com .blogspot .e_kanivets .moneytracker .databinding .ViewMonthSummaryBinding ;
1514import com .blogspot .e_kanivets .moneytracker .report .chart .IMonthReport ;
1615
1716import java .text .SimpleDateFormat ;
1817
1918import javax .inject .Inject ;
2019
21- import butterknife .BindView ;
22- import butterknife .ButterKnife ;
23-
24- /**
25- * Adapter to display a report grouped by months.
26- * Created on 1/13/17.
27- *
28- * @author Evgenii Kanivets
29- */
30-
3120@ SuppressWarnings ("WeakerAccess" )
3221public class MonthSummaryAdapter extends BaseAdapter {
3322
@@ -73,16 +62,18 @@ public long getItemId(int position) {
7362
7463 @ Override
7564 public View getView (int position , View convertView , ViewGroup parent ) {
76- ViewHolder viewHolder ;
65+ ViewMonthSummaryBinding binding ;
7766
7867 if (convertView == null ) {
7968 LayoutInflater layoutInflater = LayoutInflater .from (context );
8069
81- convertView = layoutInflater .inflate (R . layout . view_month_summary , parent , false );
82- viewHolder = new ViewHolder ( convertView );
70+ binding = ViewMonthSummaryBinding .inflate (layoutInflater , parent , false );
71+ convertView = binding . getRoot ( );
8372
84- convertView .setTag (viewHolder );
85- } else viewHolder = (ViewHolder ) convertView .getTag ();
73+ convertView .setTag (binding );
74+ } else {
75+ binding = (ViewMonthSummaryBinding ) convertView .getTag ();
76+ }
8677
8778 // Reverse a report
8879 int index = monthReport .getMonthList ().size () - position - 1 ;
@@ -91,23 +82,10 @@ public View getView(int position, View convertView, ViewGroup parent) {
9182 double totalIncome = monthReport .getIncomeList ().get (index );
9283 double totalExpense = monthReport .getExpenseList ().get (index );
9384
94- viewHolder .tvMonth .setText (month );
95- viewHolder .tvTotalIncome .setText (formatController .formatSignedAmount (totalIncome ));
96- viewHolder .tvTotalExpense .setText (formatController .formatSignedAmount (-totalExpense ));
85+ binding .tvMonth .setText (month );
86+ binding .tvTotalIncome .setText (formatController .formatSignedAmount (totalIncome ));
87+ binding .tvTotalExpense .setText (formatController .formatSignedAmount (-totalExpense ));
9788
9889 return convertView ;
9990 }
100-
101- public static class ViewHolder {
102- @ BindView (R .id .tvMonth )
103- TextView tvMonth ;
104- @ BindView (R .id .tvTotalIncome )
105- TextView tvTotalIncome ;
106- @ BindView (R .id .tvTotalExpense )
107- TextView tvTotalExpense ;
108-
109- public ViewHolder (View view ) {
110- ButterKnife .bind (this , view );
111- }
112- }
11391}
0 commit comments