package net.coding.program.project.maopao;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import net.coding.program.FootUpdate;
import net.coding.program.MyApp;
import net.coding.program.R;
import net.coding.program.common.ClickSmallImage;
import net.coding.program.common.Global;
import net.coding.program.common.ImageLoadTool;
import net.coding.program.common.MyImageGetter;
import net.coding.program.maopao.ContentArea;
import net.coding.program.model.Maopao;
import java.util.List;
/**
* Created by chenchao on 16/7/21.
* 项目内冒泡的 adapter
*/
class ProjectMaopaoAdapter extends BaseAdapter {
List<Maopao.MaopaoObject> listData;
FootUpdate.LoadMore loadMore;
View.OnClickListener clickDelete;
ClickSmallImage onClickImage;
MyImageGetter myImageGetter;
ImageLoadTool imageLoadTool;
int mPxImageWidth;
public ProjectMaopaoAdapter(List<Maopao.MaopaoObject> listData, ProjectMaopaoActivity activity, View.OnClickListener clickDelete) {
this.listData = listData;
this.loadMore = activity;
this.clickDelete = clickDelete;
onClickImage = new ClickSmallImage(activity);
myImageGetter = new MyImageGetter(activity);
imageLoadTool = activity.getImageLoad();
mPxImageWidth = Global.dpToPx(MyApp.sWidthDp - 12 - 40 - 10 - 10 - 3 * 2) / 3;
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_project_maopao, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Maopao.MaopaoObject data = listData.get(position);
ImageLoadTool.loadUserImage(holder.icon, data.owner.avatar);
holder.name.setText(data.owner.name);
holder.time.setText(Global.getTimeDetail(data.created_at));
holder.content.setText(Global.changeHyperlinkColor(data.content.replace("<p>", "").replace("</p>", "").replace("</blockquote>", "").replace("<blockquote>", "")));
holder.comment.setText(String.format("%s条评论", data.comments));
holder.delete.setTag(data);
if (data.owner_id == MyApp.sUserObject.id) {
holder.delete.setVisibility(View.VISIBLE);
} else {
holder.delete.setVisibility(View.INVISIBLE);
}
holder.contentArea.setData(data);
if (position == getCount() - 1) {
loadMore.loadMore();
}
return convertView;
}
class ViewHolder {
public ViewHolder(View v) {
icon = (ImageView) v.findViewById(R.id.icon);
name = (TextView) v.findViewById(R.id.name);
time = (TextView) v.findViewById(R.id.time);
content = (TextView) v.findViewById(R.id.content);
comment = (TextView) v.findViewById(R.id.comment);
delete = v.findViewById(R.id.delete);
delete.setOnClickListener(clickDelete);
contentArea = new ContentArea(v, null, onClickImage, myImageGetter, imageLoadTool, mPxImageWidth);
}
ImageView icon;
TextView name;
TextView time;
TextView content;
TextView comment;
View delete;
ContentArea contentArea;
}
}