package us.shandian.giga.ui.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 us.shandian.giga.R;
import us.shandian.giga.util.Utility;
public class NavigationAdapter extends BaseAdapter
{
private Context mContext;
private LayoutInflater mInflater;
private String[] mStrs;
private int[] mIcons;
public NavigationAdapter(Context context, int strs, int icons) {
mContext = context;
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mStrs = context.getResources().getStringArray(strs);
String[] iconStr = context.getResources().getStringArray(icons);
mIcons = new int[iconStr.length];
for (int i = 0; i < iconStr.length; i++) {
String str = iconStr[i];
if (!str.equals("null")) {
mIcons[i] = context.getResources().getIdentifier(str, "drawable", "us.shandian.giga");
}
}
}
@Override
public int getCount() {
return mStrs.length;
}
@Override
public Object getItem(int i) {
return mStrs[i];
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (position >= getCount()) {
return null;
} else {
String str = mStrs[position];
View v = convertView;
if (str.equals("-")) {
v = mInflater.inflate(R.layout.drawer_divider, parent, false);
v.setTag(1);
return v;
} else {
if (v == null || ((Integer)v.getTag()) == 1) {
v = mInflater.inflate(R.layout.drawer_item, parent, false);
v.setTag(0);
}
ImageView iv = Utility.findViewById(v, R.id.drawer_icon);
TextView tv = Utility.findViewById(v, R.id.drawer_text);
if (iv != null && tv != null) {
iv.setImageDrawable(mContext.getResources().getDrawable(mIcons[position]));
tv.setText(str);
tv.getPaint().setFakeBoldText(true);
}
return v;
}
}
}
}