package com.app.adapter; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.app.function.DynamicMessage; import com.app.interFace.IndexListItemClickHelp; import com.app.smart.SmartImageView; import com.ldxy.letsgoo.R; public class Messageadapter extends BaseAdapter { private List<DynamicMessage> data; private LayoutInflater layoutInflater; private IndexListItemClickHelp callback; private Context context; private int type; public Messageadapter(Context context, List<DynamicMessage> data, IndexListItemClickHelp callback) { this.context = context; this.data = data; this.callback = callback; } public static class ViewHolder { public SmartImageView image; public SmartImageView acimage; public TextView name; public TextView activity; public TextView content; public TextView pingluntype; public TextView time; public ImageView huifu; } @Override public int getCount() { return data.size(); } @Override public Object getItem(int position) { return data.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, final ViewGroup parent) { // 获得组件,实例化组件 layoutInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); final ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = layoutInflater.inflate(R.layout.message_pinglunlist, null); holder.image = (SmartImageView) convertView .findViewById(R.id.message_pinglun_image); holder.acimage = (SmartImageView) convertView .findViewById(R.id.message_pinglun_acimage); holder.name = (TextView) convertView .findViewById(R.id.message_pinglun_name); holder.activity = (TextView) convertView .findViewById(R.id.message_pinglun_activity); holder.content = (TextView) convertView .findViewById(R.id.message_pinglun_content); holder.pingluntype = (TextView) convertView .findViewById(R.id.message_pinglun_type); holder.time = (TextView) convertView .findViewById(R.id.message_pinglun_time); holder.huifu = (ImageView) convertView .findViewById(R.id.message_pinglun_huifu); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final View v = convertView; final int p = position; final int which = holder.huifu.getId(); // 数据不为空 if (!data.isEmpty()) { type = data.get(position).getOperate_type(); switch (type) { case 1: holder.huifu.setVisibility(View.GONE); holder.content.setVisibility(View.GONE); holder.image.setImageUrl(data.get(position).getPictureurl(), 2); holder.name.setText(data.get(position).getNickname()); holder.pingluntype.setText("参与了你的活动"); holder.acimage.setImageUrl(data.get(position) .getAcpictureurls(), 1); holder.activity.setText(data.get(position).getActheme()); holder.time.setText(data.get(position).getUpdated_at()); break; case 3: holder.huifu.setVisibility(View.VISIBLE); holder.content.setVisibility(View.VISIBLE); holder.image.setImageUrl(data.get(position).getPictureurl(), 2); holder.name.setText((String) data.get(position).getNickname()); holder.pingluntype.setText("评论了你的活动"); holder.acimage.setImageUrl(data.get(position) .getAcpictureurls(), 1); holder.activity.setText(data.get(position).getActheme()); holder.content .setText((String) data.get(position).getComment()); holder.time.setText(data.get(position).getUpdated_at()); holder.huifu.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { callback.onClick(v, parent, p, which); } }); break; case 4: holder.huifu.setVisibility(View.VISIBLE); holder.content.setVisibility(View.VISIBLE); holder.image.setImageUrl(data.get(position).getPictureurl(), 2); holder.name.setText((String) data.get(position).getNickname()); holder.pingluntype.setText("回复了你"); holder.acimage.setImageUrl(data.get(position) .getAcpictureurls(), 1); holder.activity.setText(data.get(position).getActheme()); holder.content .setText((String) data.get(position).getComment()); holder.time.setText(data.get(position).getUpdated_at()); holder.huifu.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { callback.onClick(v, parent, p, which); } }); break; } } return convertView; } }