You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

79 lines
2.5 KiB

  1. package at.ac.perg.htl.bhif16.coffeeapp;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ArrayAdapter;
  8. import android.widget.Button;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11. import java.util.ArrayList;
  12. public class DrinkAdapter extends ArrayAdapter<Student> {
  13. Context context;
  14. int layoutResourceId;
  15. int i;
  16. ArrayList<Student> students = new ArrayList<Student>();
  17. public DrinkAdapter(Context context, int layoutResourceId,
  18. ArrayList<Student> studs) {
  19. super(context, layoutResourceId, studs);
  20. this.layoutResourceId = layoutResourceId;
  21. this.context = context;
  22. this.students = studs;
  23. }
  24. @Override
  25. public View getView(int position, View convertView, ViewGroup parent) {
  26. View item = convertView;
  27. StudentWrapper StudentWrapper = null;
  28. if (item == null) {
  29. LayoutInflater inflater = ((Activity) context).getLayoutInflater();
  30. item = inflater.inflate(layoutResourceId, parent, false);
  31. StudentWrapper = new StudentWrapper();
  32. StudentWrapper.name = (TextView) item.findViewById(R.id.listview_item_title);
  33. StudentWrapper.consumedDrinks = (TextView) item.findViewById(R.id.count_field);
  34. StudentWrapper.img = (ImageView) item.findViewById(R.id.listview_image);
  35. StudentWrapper.count = (Button) item.findViewById(R.id.count_btn);
  36. item.setTag(StudentWrapper);
  37. } else {
  38. StudentWrapper = (StudentWrapper) item.getTag();
  39. }
  40. final Student student = students.get(position);
  41. StudentWrapper.name.setText(student.getName());
  42. StudentWrapper.consumedDrinks.setId(student.getConsumedDrinks());
  43. StudentWrapper.img.setImageResource(student.getImage());
  44. final DrinkAdapter.StudentWrapper finalStudentWrapper = StudentWrapper;
  45. StudentWrapper.count.setOnClickListener(new View.OnClickListener() {
  46. @Override
  47. public void onClick(View v) {
  48. finalStudentWrapper.consumedDrinks.setText(student.getConsumedDrinks()+"");
  49. student.setConsumedDrinks(student.getConsumedDrinks()+1);
  50. }
  51. });
  52. return item;
  53. }
  54. static class StudentWrapper {
  55. TextView name;
  56. TextView consumedDrinks;
  57. ImageView img;
  58. Button count;
  59. }
  60. }