package com.partynetwork.iparty.imessage;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppConfig;
public class FaceAdapter extends BaseAdapter {
public static final int NUM_PAGE = 5;// 总共有多少页
public static int NUM = 20;// 每页20个表情,还有最后一个删除button
private LayoutInflater inflater;
private int currentPage = 0;
private Map<String, Integer> mFaceMap;
private List<Integer> faceList = new ArrayList<Integer>();
public FaceAdapter(Context context, int currentPage) {
this.inflater = LayoutInflater.from(context);
this.currentPage = currentPage;
AppConfig config = AppConfig.getAppConfig(context);
mFaceMap = config.getFaceMap();
initData();
}
private void initData() {
for (Map.Entry<String, Integer> entry : mFaceMap.entrySet()) {
faceList.add(entry.getValue());
}
}
@Override
public int getCount() {
return NUM + 1;
}
@Override
public Object getItem(int position) {
return faceList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = inflater.inflate(R.layout.face, null, false);
viewHolder.faceIV = (ImageView) convertView
.findViewById(R.id.face_iv);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
if (position == NUM) {
viewHolder.faceIV.setImageResource(R.drawable.del_btn_nor);
viewHolder.faceIV.setBackgroundDrawable(null);
} else {
int count = NUM * currentPage + position;
if (count < 90) {
viewHolder.faceIV.setImageResource(faceList.get(count));
} else {
viewHolder.faceIV.setImageDrawable(null);
}
}
return convertView;
}
public static class ViewHolder {
ImageView faceIV;
}
}