package com.bestapp.yikuair.fragments; import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.bestapp.yikuair.R; import com.bestapp.yikuair.database.DBOpenHelper; import com.bestapp.yikuair.fragments.ScheduleAdapter.ViewHolder; import com.bestapp.yikuair.utils.MessageInfo; import com.bestapp.yikuair.utils.SharedPreferencesUtil; import com.bestapp.yikuair.utils.UserInfo; public class MessageAdapter extends BaseAdapter { private List<MessageItemInfo> arrays = null; private Context mContext; public ImageLoader imageLoader; public SharedPreferencesUtil shared; public DBOpenHelper dbOpenHelper; public Cursor cursor; public MessageAdapter(Context mContext, List<MessageItemInfo> arrays) { this.mContext = mContext; this.arrays = arrays; this.imageLoader = new ImageLoader(mContext); shared = new SharedPreferencesUtil(mContext); } public int getCount() { return this.arrays.size(); } public Object getItem(int position) { return null; } public long getItemId(int position) { return position; } public View getView(final int position, View view, ViewGroup arg2) { ViewHolder viewHolder = null; // if (view == null) { viewHolder = new ViewHolder(); view = LayoutInflater.from(mContext).inflate(R.layout.message_item, null); viewHolder.name = (TextView) view.findViewById(R.id.friend_name); viewHolder.content = (TextView) view.findViewById(R.id.chat_content); viewHolder.time = (TextView) view.findViewById(R.id.chat_time); viewHolder.num = (TextView) view.findViewById(R.id.tv_message_num); viewHolder.photo = (ImageView) view.findViewById(R.id.head); viewHolder.btnDel = (Button) view.findViewById(R.id.del); view.setTag(viewHolder); /* * } else { viewHolder = (ViewHolder) view.getTag(); } */ // Log.e("test", "url == " + this.arrays.get(position).getHeadUrl()); if (this.arrays.get(position).getHeadUrl() != null && this.arrays.get(position).getHeadUrl().length() > 0) { String headUrl = "http://" + UserInfo.downloadImgUrl + getHeadUrlFromDB(this.arrays.get(position).getId()); imageLoader.DisplayImage(headUrl, (Activity) mContext, viewHolder.photo); } else { if (this.arrays.get(position).getSex() != null && this.arrays.get(position).getSex().equals("0")) { viewHolder.photo.setBackgroundDrawable(mContext.getResources() .getDrawable(R.drawable.ico_girl)); } else if (this.arrays.get(position).getSex() != null && this.arrays.get(position).getSex().equals("1")) { viewHolder.photo.setBackgroundDrawable(mContext.getResources() .getDrawable(R.drawable.ico_boy)); } else { viewHolder.photo.setBackgroundDrawable(mContext.getResources() .getDrawable(R.drawable.ico_group)); } } viewHolder.name.setText(this.arrays.get(position).getName()); viewHolder.content.setText(this.arrays.get(position).getContent()); viewHolder.num.setVisibility(this.arrays.get(position) .getIsMessageNumVisible()); viewHolder.num.setText(String.valueOf(this.arrays.get(position) .getMessageNum())); viewHolder.btnDel.setVisibility(this.arrays.get(position) .getIsDelShow()); viewHolder.btnDel.setOnClickListener(new OnClickListener() { public void onClick(View v) { LinkedList<ChatMsgEntity> mDataArrays = new LinkedList<ChatMsgEntity>(); mDataArrays.clear(); //Log.e("test","id ::::::" + arrays.get(position).getId()); shared.saveDatatoShared(arrays.get(position).getId() + "_" + UserInfo.db_id, mDataArrays); arrays.remove(position); MessageFragment.userList.remove(position); MessageFragment.boolList.remove(position); if (arrays.isEmpty()) { MessageFragment.rl_message_list.setVisibility(View.GONE); MessageFragment.iv_message_default .setVisibility(View.VISIBLE); } notifyDataSetChanged(); } }); if (this.arrays.get(position).getTime() != null) { String[] str = this.arrays.get(position).getTime().split(" "); if (str != null && str.length > 2) { String time = str[2]; viewHolder.time.setText(time); } else viewHolder.time.setText(this.arrays.get(position).getTime()); } return view; } public String getHeadUrlFromDB(String dbId) { if (dbId == null) return ""; dbOpenHelper = new DBOpenHelper(mContext); SQLiteDatabase db = dbOpenHelper.getReadableDatabase(); String name = ""; cursor = db.rawQuery("select * from contactsTable where dbid=?", new String[] { dbId }); if (cursor.moveToFirst()) { name = cursor.getString(8); } // Log.e("test", "headurl :: " + name); dbOpenHelper.close(); cursor.close(); return name; } final static class ViewHolder { TextView name; TextView content; TextView time; TextView num; ImageView photo; Button btnDel; } }