package io.codetail.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import codetail.utils.ThemeUtils;
import io.codetail.watchme.R;
public class CategoryMenuAdapter extends ArrayAdapter<String>{
LayoutInflater mFactory;
int mResource;
int mSelectedPosition;
int mAccentColor;
public CategoryMenuAdapter(Context context, int resource, String[] objects) {
super(context, resource, objects);
mResource = resource;
mSelectedPosition = 0;
mFactory = LayoutInflater.from(context);
mAccentColor = ThemeUtils.getThemeColor(context, R.attr.colorAccent);
}
public void setSelected(int selectedPosition) {
mSelectedPosition = selectedPosition;
notifyDataSetChanged();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView title = (TextView) convertView;
if(title == null){
title = (TextView) mFactory.inflate(mResource, parent, false);
}
title.setText(getItem(position));
if(position == mSelectedPosition){
title.setTextColor(mAccentColor);
}
return title;
}
@Override
public long getItemId(int position) {
return getItem(position).hashCode();
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
return position == mSelectedPosition ? 1 : 0;
}
}