package com.campus.prime.ui.home;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.campus.prime.R;
import com.campus.prime.core.GroupItem;
import com.campus.prime.ui.SingleTypeAdapter;
import com.campus.prime.utils.BitmapManager;
public class GroupsDropDownListAdapter extends SingleTypeAdapter<GroupItem>{
private final LayoutInflater mInflater;
private final BitmapManager mBitmapManager;
private List<GroupItem> items;
public GroupsDropDownListAdapter(Context context) {
super(context, R.layout.org_item);
// TODO Auto-generated constructor stub
mInflater = LayoutInflater.from(context);
mBitmapManager = BitmapManager.getInstance();
setOrgs(null);
}
/**
* set list items
* @return
*/
public GroupsDropDownListAdapter setOrgs(final List<GroupItem> groups){
List<GroupItem> temp = new ArrayList<GroupItem>();
GroupItem square = new GroupItem();
square.setAvatar("http://bcs.duapp.com//campus-media%2Fmedia%2Ftest.jpg?sign=MBO%3A3de4772c4c4d00162c355b7f0d803f41%3Ad3kF0Ruy3VYtTwa1AJzSPXedmSA%3D");
square.setName("square");
if(groups != null){
this.items = groups;
for(GroupItem group : groups){
temp.add(group);
}
temp.add(0, square);
setItems(temp);
}else{
temp.add(square);
setItems(temp);
}
return this;
}
/**
* get selected item's group Id
* @param selectedId
* @return
*/
public int getGroupId(int selectedId){
if(selectedId == 0)
return -1;
else
return items.get(selectedId - 1).getId();
}
@Override
protected int[] getChildViewIds() {
// TODO Auto-generated method stub
return new int[]{R.id.tv_org_name,R.id.iv_avatar};
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView == null)
convertView = initialize(mInflater.inflate(R.layout.org_dropdown_item,null));
update(position,convertView,getItem(position));
return convertView;
}
@Override
protected void update(int position, GroupItem item) {
// TODO Auto-generated method stub
setText(0,item.getName());
mBitmapManager.loadBitmap(item.getAvatar(),imageView(1),null,0,0);
}
}