ListViewAdapter.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. *
  14. * @author Mihai Plasoianu
  15. */
  16. public class ListViewAdapter extends BaseAdapter {
  17. private LayoutInflater inflater;
  18. private ArrayList<HashMap<String, String>> data;
  19. public ListViewAdapter(LayoutInflater inflater,
  20. ArrayList<HashMap<String, String>> data) {
  21. this.inflater = inflater;
  22. this.data = data;
  23. }
  24. @Override
  25. public int getCount() {
  26. return data.size();
  27. }
  28. @Override
  29. public Object getItem(int position) {
  30. return data.get(position);
  31. }
  32. @Override
  33. public long getItemId(int position) {
  34. return position;
  35. }
  36. @Override
  37. public View getView(int position, View convertView, ViewGroup parent) {
  38. View v = convertView;
  39. if (v == null) {
  40. v = inflater.inflate(R.layout.list_view_protocols_row, null);
  41. }
  42. ImageView light = (ImageView) v.findViewById(R.id.imageViewLight);
  43. TextView protocol = (TextView) v.findViewById(R.id.textViewProtocol);
  44. TextView connections = (TextView) v
  45. .findViewById(R.id.textViewConnectionsValue);
  46. HashMap<String, String> d = new HashMap<String, String>();
  47. d = data.get(position);
  48. light.setImageResource(Integer.valueOf(d.get("light")).intValue());
  49. protocol.setText(d.get("protocol"));
  50. connections.setText(d.get("connections"));
  51. return v;
  52. }
  53. }