package com.mhacks.android.navigation; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.mhacks.android.R; import java.util.List; /** * Created by damian on 1/12/14. */ public class NavigationDrawerAdapter extends ArrayAdapter<NavigationDrawerItem> { private Context mContext; private List<NavigationDrawerItem> mItems; private int mCurrent; public NavigationDrawerAdapter(Context context, List<NavigationDrawerItem> items) { super(context, R.layout.award_cell); mContext = context; mItems = items; mCurrent = -1; } public int getCount() { return mItems.size(); } public NavigationDrawerItem getItem(int position) { return mItems.get(position); } public long getItemId(int position) { return mItems.get(position).hashCode(); } public void setCurrent(int position) { mCurrent = position; } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View navItemView; if (convertView == null) { navItemView = inflater.inflate(R.layout.navigation_item, null); } else { navItemView = convertView; } NavigationDrawerItem item = mItems.get(position); ImageView icon = (ImageView) navItemView.findViewById(R.id.navigation_item_icon); icon.setImageResource(item.iconID); TextView text = (TextView) navItemView.findViewById(R.id.navigation_item_title); text.setText(item.title); if (position == mCurrent) { navItemView.setBackgroundResource(R.color.custom_theme_color); } else { navItemView.setBackgroundResource(android.R.color.transparent); } return navItemView; } }