DrawerListAdapter.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package de.tudarmstadt.informatik.hostage.ui2.adapter;
  2. import android.content.Context;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. import java.util.List;
  10. import de.tudarmstadt.informatik.hostage.R;
  11. import de.tudarmstadt.informatik.hostage.ui2.model.DrawerListItem;
  12. /**
  13. * Creates the item view for the navigation drawer listview
  14. *
  15. * @author Alexander Brakowski
  16. * @created 13.01.14 16:35
  17. */
  18. public class DrawerListAdapter extends ArrayAdapter<DrawerListItem> {
  19. /**
  20. * The context the adapter needs to retrieve resources
  21. */
  22. private final Context mContext;
  23. /**
  24. * The list items
  25. */
  26. private final List<DrawerListItem> mValues;
  27. /**
  28. * Create the list adapter
  29. *
  30. * @param context the context needed for resource retieval
  31. * @param objects all the items that should be displayed in the list
  32. */
  33. public DrawerListAdapter(Context context, List<DrawerListItem> objects) {
  34. super(context, R.layout.drawer_list_item, objects);
  35. this.mContext = context;
  36. this.mValues = objects;
  37. }
  38. /**
  39. * {@inheritDoc}
  40. */
  41. @Override
  42. public View getView(int position, View convertView, ViewGroup parent) {
  43. LayoutInflater inflater = (LayoutInflater) mContext
  44. .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  45. View rowView = inflater.inflate(R.layout.drawer_list_item, parent, false);
  46. TextView textView = (TextView) rowView.findViewById(R.id.drawer_listitem_text);
  47. ImageView imageView = (ImageView) rowView.findViewById(R.id.drawer_listitem_icon);
  48. DrawerListItem item = mValues.get(position);
  49. textView.setText(item.text);
  50. imageView.setImageResource(item.icon);
  51. return rowView;
  52. }
  53. }