package com.myMinistry.adapters;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.myMinistry.R;
import com.myMinistry.model.NavDrawerMenuItem;
public class ItemAdapter extends ArrayAdapter<NavDrawerMenuItem> {
private int LAYOUT_VIEW_ID = R.layout.li_item_spinner_item_2;
public ItemAdapter(Context context) {
super(context, 0);
}
public void addItem(String title, int icon) {
add(new NavDrawerMenuItem(title, icon));
}
public void addItem(NavDrawerMenuItem itemModel) {
add(itemModel);
}
public void setTitle(String _title, int _position) {
NavDrawerMenuItem thisItem = this.getItem(_position);
thisItem.setTitle(_title);
}
public NavDrawerMenuItem getItemByID(int _id) {
for (int i = 0; i < this.getCount(); i++) {
NavDrawerMenuItem item = this.getItem(i);
if (item.getID() == _id)
return item;
}
return null;
}
public int getPositionByID(int _id) {
for (int i = 0; i < this.getCount(); i++) {
NavDrawerMenuItem item = this.getItem(i);
if (item.getID() == _id)
return i;
}
return -1;
}
public static class ViewHolder {
public final TextView textHolder;
public ViewHolder(TextView text1) {
this.textHolder = text1;
}
}
@SuppressWarnings("deprecation")
public View getView(int position, View convertView, ViewGroup parent) {
NavDrawerMenuItem item = getItem(position);
ViewHolder holder = null;
View view = convertView;
if(view == null) {
view = LayoutInflater.from(getContext()).inflate(LAYOUT_VIEW_ID, parent, false);
TextView text1 = (TextView) view.findViewById(R.id.menurow_title);
view.setTag(new ViewHolder(text1));
}
if(holder == null && view != null) {
Object tag = view.getTag();
if (tag instanceof ViewHolder)
holder = (ViewHolder) tag;
}
Drawable img = getContext().getResources().getDrawable( item.iconRes );
holder.textHolder.setCompoundDrawablesWithIntrinsicBounds( img, null, null, null);
holder.textHolder.setText(item.title);
return view;
}
}