ListViewAdapter.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package de.tudarmstadt.informatik.hostage.ui;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.BaseAdapter;
  8. import android.widget.ImageView;
  9. import android.widget.TextView;
  10. import de.tudarmstadt.informatik.hostage.R;
  11. /**
  12. * Custom ListViewAdapter to dynamically create a list of protocols.
  13. * @author Mihai Plasoianu
  14. */
  15. public class ListViewAdapter extends BaseAdapter {
  16. private LayoutInflater inflater;
  17. private ArrayList<HashMap<String, String>> data;
  18. public ListViewAdapter(LayoutInflater inflater,
  19. ArrayList<HashMap<String, String>> data) {
  20. this.inflater = inflater;
  21. this.data = data;
  22. }
  23. public int getCount() {
  24. return data.size();
  25. }
  26. public Object getItem(int position) {
  27. return data.get(position);
  28. }
  29. public long getItemId(int position) {
  30. return position;
  31. }
  32. public View getView(int position, View convertView, ViewGroup parent) {
  33. View v = convertView;
  34. if (v == null) {
  35. v = inflater.inflate(R.layout.list_view_protocols_row, null);
  36. }
  37. ImageView light = (ImageView) v.findViewById(R.id.imageViewLight);
  38. TextView protocol = (TextView) v.findViewById(R.id.textViewProtocol);
  39. TextView connections = (TextView) v
  40. .findViewById(R.id.textViewConnectionsValue);
  41. HashMap<String, String> d = new HashMap<String, String>();
  42. d = data.get(position);
  43. light.setImageResource(Integer.valueOf(d.get("light")).intValue());
  44. protocol.setText(d.get("protocol"));
  45. connections.setText(d.get("connections"));
  46. return v;
  47. }
  48. }