ListViewAdapter.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. @Override
  24. public int getCount() {
  25. return data.size();
  26. }
  27. @Override
  28. public Object getItem(int position) {
  29. return data.get(position);
  30. }
  31. @Override
  32. public long getItemId(int position) {
  33. return position;
  34. }
  35. @Override
  36. public View getView(int position, View convertView, ViewGroup parent) {
  37. View v = convertView;
  38. if (v == null) {
  39. v = inflater.inflate(R.layout.list_view_protocols_row, null);
  40. }
  41. ImageView light = (ImageView) v.findViewById(R.id.imageViewLight);
  42. TextView protocol = (TextView) v.findViewById(R.id.textViewProtocol);
  43. TextView connections = (TextView) v
  44. .findViewById(R.id.textViewConnectionsValue);
  45. HashMap<String, String> d = new HashMap<String, String>();
  46. d = data.get(position);
  47. light.setImageResource(Integer.valueOf(d.get("light")).intValue());
  48. protocol.setText(d.get("protocol"));
  49. connections.setText(d.get("connections"));
  50. return v;
  51. }
  52. }