package de.bsd.zwitscher;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import de.bsd.zwitscher.account.Account;
import java.util.List;
/**
* // TODO: Document this
*
* @author Heiko W. Rupp
*/
public class DrawerLineAdapter extends ArrayAdapter<ZUserList> {
private final LayoutInflater inflater;
private Context context;
private List<ZUserList> userLists;
private Account account;
public DrawerLineAdapter(Context context, List<ZUserList> userLists, Account account) {
super(context, R.layout.drawer_row, userLists);
this.context = context;
this.userLists = userLists;
this.account = account;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView ==null) {
convertView = inflater.inflate(R.layout.drawer_row,parent,false);
viewHolder = new ViewHolder();
viewHolder.textView = (TextView) convertView.findViewById(R.id.textView1);
viewHolder.unreadView = (TextView) convertView.findViewById(R.id.unreadView);
viewHolder.imageView = (ImageView) convertView.findViewById(R.id.imgView);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
ZUserList zUserList = userLists.get(position);
viewHolder.textView.setText(zUserList.getDisplayName(account));
ImageView imageView = viewHolder.imageView;
int listId = zUserList.listId;
switch (listId) {
case 0: imageView.setImageResource(R.drawable.ic_tab_home); break;
case -1: imageView.setImageResource(R.drawable.ic_tab_mention); break;
case -2: imageView.setImageResource(R.drawable.ic_tab_mention); break;
case -3: imageView.setImageResource(R.drawable.ic_tab_sent); break;
case -4: imageView.setImageResource(R.drawable.ic_tab_favorite); break;
default:
if (listId<0) {
imageView.setImageResource(R.drawable.ic_tab_list);
}
else {
imageView.setImageResource(R.drawable.ic_tab_search);
}
}
if (zUserList.unreadCount>0) {
viewHolder.unreadView.setText(zUserList.unreadCount);
} else {
viewHolder.unreadView.setText("");
}
return convertView;
}
static class ViewHolder {
TextView textView;
ImageView imageView;
TextView unreadView;
}
}