package com.weikou.beibeivideo.ui.media;
|
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import androidx.fragment.app.FragmentActivity;
|
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.LinearLayout;
|
import android.widget.PopupWindow.OnDismissListener;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.lcjian.library.util.glide.GlideCircleTransform;
|
import com.lcjian.library.widget.MyListView;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.entity.Comment;
|
import com.weikou.beibeivideo.entity.CommentReply;
|
import com.weikou.beibeivideo.util.BeibeiConstant;
|
import com.weikou.beibeivideo.util.TimeUtils;
|
|
import java.util.List;
|
|
/**
|
* 评论列表adapter
|
*
|
* @author weikou2015
|
*/
|
public class VideoReviewAdapter extends BaseAdapter {
|
|
private FragmentActivity mActivity;
|
private List<Comment> list;
|
private LayoutInflater inflater;
|
private RequestManager glide;
|
private LinearLayout ll;
|
|
|
public VideoReviewAdapter(FragmentActivity activity, Context context, List<Comment> list,
|
LinearLayout ll) {
|
this.mActivity = activity;
|
this.list = list;
|
this.glide = Glide.with(context);
|
this.ll = ll;
|
inflater = LayoutInflater.from(activity);
|
}
|
|
@Override
|
public int getCount() {
|
if (list != null) {
|
return list.size();
|
}
|
return 0;
|
}
|
|
@Override
|
public Object getItem(int arg0) {
|
return list.get(arg0);
|
}
|
|
@Override
|
public long getItemId(int arg0) {
|
return arg0;
|
}
|
|
@Override
|
public View getView(int position, View view, ViewGroup group) {
|
Holder holder = null;
|
final String editHint;
|
final Comment info = list.get(position);
|
final String loginUid;
|
boolean isLogin;
|
SharedPreferences preferences = mActivity.getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
loginUid = preferences.getString("LoginUid", "");
|
|
isLogin = StringUtils.isEmpty(preferences.getString("LoginUid", "")) ? false
|
: true;
|
if (view == null) {
|
holder = new Holder();
|
view = inflater.inflate(R.layout.item_review, null);
|
holder.iv_review_portrait = (ImageView) view
|
.findViewById(R.id.iv_review_portrait);
|
holder.tv_review_nickname = (TextView) view
|
.findViewById(R.id.tv_review_nickname);
|
holder.tv_review_content = (TextView) view
|
.findViewById(R.id.tv_review_content);
|
holder.tv_review_time = (TextView) view
|
.findViewById(R.id.tv_review_time);
|
holder.tv_review_reply = (TextView) view
|
.findViewById(R.id.tv_review_reply);
|
holder.list_reply = (MyListView) view.findViewById(R.id.list_reply);
|
view.setTag(holder);
|
} else {
|
holder = (Holder) view.getTag();
|
}
|
|
if (loginUid.equals(info.getUser().getId()) && isLogin) {
|
holder.tv_review_reply.setVisibility(view.GONE);
|
} else {
|
holder.tv_review_reply.setVisibility(view.VISIBLE);
|
}
|
// imageLoader.displayImage(info.getUser().getPortrait(),
|
// holder.iv_review_portrait, options);
|
try {
|
glide.load(BeibeiConstant.addPreFix(info.getUser().getPortrait()))
|
.placeholder(R.drawable.person_img)
|
.error(R.drawable.person_img)
|
.transform(new GlideCircleTransform(mActivity))
|
.into(holder.iv_review_portrait);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
holder.tv_review_content.setText(info.getContent());
|
holder.tv_review_nickname.setText(info.getUser().getNickname());
|
// holder.tv_review_time.setText(DateUtils.getTimeToString(Long
|
// .parseLong(info.getCreatetime())));
|
editHint = info.getUser().getNickname();
|
|
holder.tv_review_time.setText(TimeUtils.millisToLifeString(Long
|
.parseLong(info.getCreatetime())));
|
|
holder.tv_review_reply.setOnClickListener(new OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
VideoReviewPopupWindow reviewPop = new VideoReviewPopupWindow(
|
mActivity, info.getId(), info.getThirdType(), false,
|
editHint);
|
reviewPop.showPopupWindow(mActivity
|
.findViewById(R.id.tv_review_layout));
|
ll.setVisibility(View.GONE);
|
reviewPop.setOnDismissListener(new OnDismissListener() {
|
|
@Override
|
public void onDismiss() {
|
// TODO Auto-generated method stub
|
ll.setVisibility(View.VISIBLE);
|
}
|
});
|
|
}
|
});
|
List<CommentReply> mlist = info.getReplyList();
|
holder.list_reply.setAdapter(new VideoReplyAdapter(mActivity, mlist));
|
return view;
|
}
|
|
class Holder {
|
ImageView iv_review_portrait;// 评论者头像
|
TextView tv_review_nickname;// 评论者昵称
|
TextView tv_review_content;// 评论内容
|
TextView tv_review_time;// 评论时间
|
TextView tv_review_reply;// 回复
|
MyListView list_reply;// 回复列表
|
}
|
}
|