package com.d3.d3xmpp.adapter;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.d3.d3xmpp.activites.FriendActivity;
import com.d3.d3xmpp.constant.ImgConfig;
import com.d3.d3xmpp.constant.MyApplication;
import com.d3.d3xmpp.dao.NewMsgDbHelper;
import com.d3.d3xmpp.model.Friend;
import com.d3.d3xmpp.util.CircularImage;
import com.d3.d3xmpp.util.ImgHandler;
import com.d3.d3xmpp.util.PinyinUtils;
import com.d3.d3xmpp.R;
public class ContactsAdapter extends ArrayAdapter<Friend> {
Context context;
public ContactsAdapter(Context context) {
super(context, 0);
this.context = context;
}
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
final Friend item = getItem(position);
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.row_contact, null);
viewHolder = new ViewHolder();
viewHolder.cateLayout = (LinearLayout) convertView.findViewById(R.id.cateLayout);
viewHolder.nickView = (TextView) convertView.findViewById(R.id.nickView);
viewHolder.cateView = (TextView)convertView.findViewById(R.id.cateView);
viewHolder.countView = (TextView) convertView.findViewById(R.id.countView);
viewHolder.headImg = (CircularImage) convertView.findViewById(R.id.headImg);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.nickView.setText(item.username);
if(item.username.equals("�µ�����")){
ImgConfig.showImg("drawable://" + R.drawable.news_friends_icon , viewHolder.headImg);
// viewHolder.headImg.setImageBitmap(ImgHandler.ToCircular(BitmapFactory.decodeResource(context.getResources(), R.drawable.news_friends_icon)));
}
else if(item.username.equals("Ⱥ��")){ //Ⱥ��
ImgConfig.showImg("drawable://" + R.drawable.group_chat_icon , viewHolder.headImg);
// viewHolder.headImg.setImageBitmap(ImgHandler.ToCircular(BitmapFactory.decodeResource(context.getResources(), R.drawable.group_chat_icon)));
}
else {
ImgConfig.showHeadImg(item.username, viewHolder.headImg);
viewHolder.headImg.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, FriendActivity.class);
intent.putExtra("username", item.username);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
});
}
//��ĸ����
String catalog = PinyinUtils.getPingYin(item.username).substring(0, 1).toUpperCase();
if(position == 0 || position == 1){
viewHolder.cateLayout.setVisibility(View.GONE);
}
else{
String lastCatalog = PinyinUtils.getPingYin(getItem(position-1).username).substring(0,1);
if (catalog.equalsIgnoreCase(lastCatalog)) {
viewHolder.cateLayout.setVisibility(View.GONE);
} else {
viewHolder.cateLayout.setVisibility(View.VISIBLE);
viewHolder.cateView.setText(catalog);
}
}
//count
if (position == 0) {
int count = NewMsgDbHelper.getInstance(MyApplication.getInstance()).getMsgCount(""+0);
if (count > 0) {
viewHolder.countView.setText(""+count);
viewHolder.countView.setVisibility(View.VISIBLE);
}
else {
viewHolder.countView.setVisibility(View.GONE);
}
}
else {
viewHolder.countView.setVisibility(View.GONE);
}
return convertView;
}
class ViewHolder {
LinearLayout cateLayout;
TextView nickView,cateView,countView;
CircularImage headImg;
}
}