admin
2024-01-26 c2d382d99ca506932985d1843d4371d6ed0203ff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
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;// 回复列表
    }
}