将Adapter的监听传到activity上

package com.ali.bbclive.mvp.ui.adapter;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.ali.bbclive.R;
import com.ali.bbclive.mvp.entity.LiveCommentListBean;
import com.ali.bbclive.mvp.ui.activity.LiveReplyMessageActivity;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by liyu on 2018/4/19.
 */

public class CommentListAdapter extends BaseQuickAdapter<LiveCommentListBean, BaseViewHolder> {
    private Context context;
    private List<LiveCommentListBean> lists;

    /**
     * 点击监听
     */
    private View.OnClickListener listener;
    /**
     * 长按监听事件
     */
    private View.OnLongClickListener longListener;


    public CommentListAdapter(Context mcontext, List<LiveCommentListBean> datas) {
        super(R.layout.live_a_dialog_layout_test_item);
        lists = new ArrayList<>();
        this.lists = datas;
        this.context = mcontext;
    }


    /**
     * 将监听从Adapter传到用到AdapterActivity
     * @param listener
     */
    public void setListener(View.OnClickListener listener) {
        this.listener = listener;
    }



    /**
     * 用于长按删除
     */
    public void setLongListener(View.OnLongClickListener longListener){
        this.longListener = longListener;
    }


    @Override
    protected void convert(final BaseViewHolder helper, final LiveCommentListBean item) {
        helper.setText(R.id.tv_name, item.getCommentname()+"空白??");
        helper.setText(R.id.tv_time, item.getComtime());
        helper.setText(R.id.tv_content, item.getComtext());
        helper.setText(R.id.tv_more, "查看全部"+item.getReplynum()+"条回复");


        helper.setOnClickListener(R.id.tv_more, new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Bundle bundle = new Bundle();
                bundle.putString("commentname", item.getCommentname());
                bundle.putString("commenttime", item.getComtime());
                bundle.putString("commentcontent", item.getComtext());
                Intent intent = new Intent(context, LiveReplyMessageActivity.class);
                intent.putExtras(bundle);
                context.startActivity(intent);
            }
        });




        helper.setOnClickListener(R.id.dianzan, new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (item.getIsvalid().equals("0")) {
                    helper.setImageResource(R.id.dianzan, R.mipmap.dianzan);
                    Toast.makeText(context, "点击了一个赞" + item.getIsvalid(), Toast.LENGTH_SHORT).show();
                } else {
                    helper.setImageResource(R.id.dianzan, R.mipmap.ic_launcher);
                    Toast.makeText(context, "点击了" + item.getIsvalid(), Toast.LENGTH_SHORT).show();
                }
            }
        });

        LinearLayout content=helper.getView(R.id.ll_delete);
        /**
         * 将点击ll_delete传出去,需要用到help.setTag(id,)   ~~~~help.setonClickListener(id,监听)
         */
        /**
         * 用于点击回复添加
         */
//        helper.setTag(R.id.ll_delete,item.getComid());
//        helper.setOnClickListener(R.id.ll_delete,listener);

        /**
         * Activity中获取comIDgetTag写法
         * Comid = (String) view.getTag(R.id.live_id_comment);
         */

        content.setTag(R.id.live_id_comment,item.getComid());
        content.setOnClickListener(listener);


        /**
         * 两个同时存在的时候出现冲突问题,导致回复不能用
         */

        /**
         * 用于删除评论
         */
//        helper.setTag(R.id.ll_delete,item.getUxid());
//        helper.setOnLongClickListener(R.id.ll_delete,longListener);
        content.setTag(R.id.live_id_del,item.getUxid());
        content.setOnLongClickListener(longListener);


        /**
         * Activity中获取comIDgetTag写法
         * UXID = (String) v.getTag(R.id.live_id_del);
         */
    }
}

猜你喜欢

转载自blog.csdn.net/li_yu_csdn/article/details/80170680