package com.example.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.R;
public class DrawerAdapter extends BaseAdapter
{
private Context mContext;
private String[] mTitleList;
private Integer[] mIconList;
public DrawerAdapter(Context context, String[] titleList, Integer[] iconList)
{
mContext = context;
mTitleList = titleList;
mIconList = iconList;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
// inflate view
if(convertView == null)
{
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.drawer_item, parent, false);
// view holder
ViewHolder holder = new ViewHolder();
holder.titleTextView = (TextView) convertView.findViewById(R.id.drawer_item_title);
holder.iconImageView = (ImageView) convertView.findViewById(R.id.drawer_item_icon);
convertView.setTag(holder);
}
// entity
String title = mTitleList[position];
Integer icon = mIconList[position];
if(title != null && icon != null)
{
// view holder
ViewHolder holder = (ViewHolder) convertView.getTag();
// content
holder.titleTextView.setText(title);
holder.iconImageView.setImageResource(icon);
}
return convertView;
}
@Override
public int getCount()
{
if(mTitleList != null) return mTitleList.length;
else return 0;
}
@Override
public Object getItem(int position)
{
if(mTitleList != null) return mTitleList[position];
else return null;
}
@Override
public long getItemId(int position)
{
return position;
}
public void refill(Context context, String[] titleList, Integer[] iconList)
{
mContext = context;
mTitleList = titleList;
mIconList = iconList;
notifyDataSetChanged();
}
static class ViewHolder
{
TextView titleTextView;
ImageView iconImageView;
}
}