package com.tencent.hq.qq.adapter;
import java.util.List;
import android.content.Context;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Filterable;
import android.widget.ImageView;
import android.widget.TextView;
import cn.bmob.im.bean.BmobRecent;
import cn.bmob.im.config.BmobConfig;
import cn.bmob.im.db.BmobDB;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.tencent.hq.qq.R;
import com.tencent.hq.qq.adapter.base.ViewHolder;
import com.tencent.hq.qq.util.FaceTextUtils;
import com.tencent.hq.qq.util.ImageLoadOptions;
import com.tencent.hq.qq.util.TimeUtil;
/** �Ự������
* @ClassName: MessageRecentAdapter
* @Description: TODO
* @author smile
* @date 2014-6-7 ����2:34:10
*/
public class MessageRecentAdapter extends ArrayAdapter<BmobRecent> implements Filterable{
private LayoutInflater inflater;
private List<BmobRecent> mData;
private Context mContext;
public MessageRecentAdapter(Context context, int textViewResourceId, List<BmobRecent> objects) {
super(context, textViewResourceId, objects);
inflater = LayoutInflater.from(context);
this.mContext = context;
mData = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final BmobRecent item = mData.get(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_conversation, parent, false);
}
ImageView iv_recent_avatar = ViewHolder.get(convertView, R.id.iv_recent_avatar);
TextView tv_recent_name = ViewHolder.get(convertView, R.id.tv_recent_name);
TextView tv_recent_msg = ViewHolder.get(convertView, R.id.tv_recent_msg);
TextView tv_recent_time = ViewHolder.get(convertView, R.id.tv_recent_time);
TextView tv_recent_unread = ViewHolder.get(convertView, R.id.tv_recent_unread);
//������
String avatar = item.getAvatar();
if(avatar!=null&& !avatar.equals("")){
ImageLoader.getInstance().displayImage(avatar, iv_recent_avatar, ImageLoadOptions.getOptions());
}else{
iv_recent_avatar.setImageResource(R.drawable.head);
}
tv_recent_name.setText(item.getUserName());
tv_recent_time.setText(TimeUtil.getChatTime(item.getTime()));
//��ʾ����
if(item.getType()==BmobConfig.TYPE_TEXT){
SpannableString spannableString = FaceTextUtils.toSpannableString(mContext, item.getMessage());
tv_recent_msg.setText(spannableString);
}else if(item.getType()==BmobConfig.TYPE_IMAGE){
tv_recent_msg.setText("[图片]");
}else if(item.getType()==BmobConfig.TYPE_LOCATION){
String all =item.getMessage();
if(all!=null &&!all.equals("")){//λ�����͵���Ϣ��װ��ʽ������λ��&ά��&����
String address = all.split("&")[0];
tv_recent_msg.setText("[位置]"+address);
}
}else if(item.getType()==BmobConfig.TYPE_VOICE){
tv_recent_msg.setText("[语音]");
}
int num = BmobDB.create(mContext).getUnreadCount(item.getTargetid());
if (num > 0) {
tv_recent_unread.setVisibility(View.VISIBLE);
tv_recent_unread.setText(num + "");
} else {
tv_recent_unread.setVisibility(View.GONE);
}
return convertView;
}
}