package com.hanju.video.app.ui.common;
|
|
import android.content.Context;
|
import android.content.Intent;
|
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 com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.RequestOptions;
|
import com.hanju.video.app.BasicTextHttpResponseHandler;
|
import com.hanju.video.app.HttpApiUtil;
|
import com.hanju.video.app.util.UserUtil;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.hanju.video.app.entity.Attention;
|
import com.hanju.video.app.entity.Follow;
|
import com.hanju.video.app.ui.media.VideoDetailActivity;
|
import com.hanju.video.app.util.GlideCircleTransform;
|
import com.hanju.video.app.util.TimeUtil;
|
import com.hanju.video.app.R;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by weikou2015 on 2016/8/15.
|
*/
|
public class FollowAdapter2 extends BaseAdapter {
|
|
private List<Attention> mList;
|
private Context mContext;
|
private LayoutInflater inflater;
|
|
public FollowAdapter2(Context context, List<Attention> list) {
|
mList = list;
|
mContext = context;
|
}
|
|
@Override
|
public int getCount() {
|
return mList == null ? 0 : mList.size();
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mList.get(position);
|
}
|
|
public List<Attention> removeList = new ArrayList<Attention>();
|
|
@Override
|
public View getView(final int position, View convertView, ViewGroup parent) {
|
Holder holder = null;
|
inflater = LayoutInflater.from(parent.getContext());
|
if (convertView == null) {
|
holder = new Holder();
|
convertView = inflater.inflate(R.layout.item_follow3, null);
|
holder.tv_star_name = convertView.findViewById(R.id.tv_star_name);
|
holder.tv_update_time = convertView.findViewById(R.id.tv_update_time);
|
holder.tv_cancle_follow = convertView.findViewById(R.id.tv_cancle_follow);
|
holder.iv_moive_img = convertView.findViewById(R.id.iv_moive_img);
|
convertView.setTag(holder);
|
} else {
|
holder = (Holder) convertView.getTag();
|
}
|
final Attention info = (Attention) getItem(position);
|
info.setAttention(true);
|
try {
|
String picture = info.getVideoInfo().getHpicture();
|
if (StringUtils.isEmpty(picture)) {
|
picture = info.getVideoInfo().getPicture();
|
}
|
|
Glide.with(mContext).load(picture)
|
.apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default).error(R.drawable.ic_default))
|
.into(holder.iv_moive_img);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
holder.tv_star_name.setText(info.getVideoInfo().getName() + "");
|
holder.tv_update_time.setText(StringUtils.isEmpty(info.getVideoInfo().getTag()) ? "" : info.getVideoInfo().getTag());
|
final Holder holder1 = holder;
|
holder.tv_cancle_follow.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (info.isAttention()) {
|
info.setAttention(false);
|
holder1.tv_cancle_follow.setText("追剧");
|
// removeList.add(info);
|
HttpApiUtil.cancelAttention(mContext, UserUtil.getUid(mContext), UserUtil.getLoginUid(mContext), info.getVideoInfo().getId() + "", new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optBoolean("IsPost")) {
|
mList.remove(info);
|
notifyDataSetChanged();
|
}
|
}
|
});
|
|
|
} else {
|
info.setAttention(true);
|
holder1.tv_cancle_follow.setText("已追剧");
|
// removeList.remove(info);
|
}
|
}
|
});
|
if (info.isAttention()) {
|
holder1.tv_cancle_follow.setText("已追剧");
|
} else {
|
holder1.tv_cancle_follow.setText("追剧");
|
}
|
|
|
convertView.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
|
intent.putExtra("Id", info.getVideoInfo().getId());
|
intent.putExtra("Share", "0");
|
intent.putExtra("ThirdType", "0");
|
intent.putExtra("ResourceId", "");
|
intent.putExtra("DetailId", "");
|
v.getContext().startActivity(intent);
|
}
|
});
|
return convertView;
|
}
|
|
class Holder {
|
TextView tv_star_name;
|
TextView tv_update_time;
|
TextView tv_cancle_follow;
|
ImageView iv_moive_img;
|
}
|
}
|