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.
 
 

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