package com.jpardogo.android.listbuddies.adapters;
import android.content.Context;
import android.database.DataSetObserver;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import com.jpardogo.android.listbuddies.R;
import com.jpardogo.android.listbuddies.models.KeyValuePair;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.Optional;
/**
* Created by jpardogo on 22/02/2014.
*/
public class CustomizeSpinnersAdapter implements SpinnerAdapter {
private Context mContext;
private List<KeyValuePair> mItems;
private String mMainItemTitle;
public CustomizeSpinnersAdapter(Context context, List<KeyValuePair> items, String mainTitle) {
mContext = context;
mItems = items;
mMainItemTitle = mainTitle;
}
public enum OptionTypes {
BLACK,
EMPTY,
INSET;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.spinner_item_dropdown, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title.setText(mItems.get(position).getKey());
return convertView;
}
@Override
public void registerDataSetObserver(DataSetObserver dataSetObserver) {
}
@Override
public void unregisterDataSetObserver(DataSetObserver dataSetObserver) {
}
@Override
public int getCount() {
return mItems.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.spinner_item_main, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title.setText(mMainItemTitle);
holder.subtitle.setText(mItems.get(position).getKey());
return convertView;
}
@Override
public int getItemViewType(int i) {
return 0;
}
@Override
public int getViewTypeCount() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
static class ViewHolder {
@InjectView(R.id.title)
TextView title;
@Optional
@InjectView(R.id.subtitle)
TextView subtitle;
public ViewHolder(View view) {
ButterKnife.inject(this, view);
}
}
}