package at.ac.perg.htl.bhif16.coffeeapp; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; public class DrinkAdapter extends ArrayAdapter { Context context; int layoutResourceId; int i; ArrayList students = new ArrayList(); public DrinkAdapter(Context context, int layoutResourceId, ArrayList studs) { super(context, layoutResourceId, studs); this.layoutResourceId = layoutResourceId; this.context = context; this.students = studs; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; StudentWrapper StudentWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); StudentWrapper = new StudentWrapper(); StudentWrapper.name = (TextView) item.findViewById(R.id.listview_item_title); StudentWrapper.consumedDrinks = (TextView) item.findViewById(R.id.count_field); StudentWrapper.img = (ImageView) item.findViewById(R.id.listview_image); StudentWrapper.count = (Button) item.findViewById(R.id.count_btn); item.setTag(StudentWrapper); } else { StudentWrapper = (StudentWrapper) item.getTag(); } final Student student = students.get(position); StudentWrapper.name.setText(student.getName()); StudentWrapper.consumedDrinks.setId(student.getConsumedDrinks()); StudentWrapper.img.setImageResource(student.getImage()); final DrinkAdapter.StudentWrapper finalStudentWrapper = StudentWrapper; StudentWrapper.count.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finalStudentWrapper.consumedDrinks.setText(student.getConsumedDrinks()+""); student.setConsumedDrinks(student.getConsumedDrinks()+1); } }); return item; } static class StudentWrapper { TextView name; TextView consumedDrinks; ImageView img; Button count; } }