学习了不少的新的知识

通过不断的做项目我学习了很多的知识. 

重新修改一下recyclerview 中点击事件的书写方式

    package com.yhbj.emtyh.ui.myselfactivuty.mypersonalAdapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.yhbj.emtyh.R;
import com.yhbj.emtyh.model.MessageBean;

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

import butterknife.BindView;

/**
 * Created by  许康
 * 2018\6\9 0009
 * descurpe
 */

public class textAdapter extends RecyclerView.Adapter<textAdapter.ButtonViewHolder> {


    private List<MessageBean.ListBean> data = new ArrayList<>();
    private Context context;
    private LayoutInflater mlayoutInflater;

    public textAdapter(Context context) {
        this.context = context;
        this.mlayoutInflater = LayoutInflater.from(context);
    }

    @Override
    public ButtonViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new ButtonViewHolder(mlayoutInflater.inflate(R.layout.message_activity_item, parent, false));
    }

    @Override
    public void onBindViewHolder(ButtonViewHolder holder, int position) {
        //在控件绑定的这里做事件的点击监听
        holder.messageTwo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (onItemClickLinter!=null){//这里的position在activity中位置是确定
                    onItemClickLinter.setItemOnItemClick(v,position);
                }
            }
        });
    }
    

    @Override
    public int getItemCount() {
        return 0;
    }

    public class ButtonViewHolder extends RecyclerView.ViewHolder {
        @BindView(R.id.message_two)
        TextView messageTwo;
        @BindView(R.id.message_title)
        TextView messageTitle;
        @BindView(R.id.message_content)
        TextView messageContent;
        public ButtonViewHolder(View itemView) {
            super(itemView);
            //可以在这里进行控件的点击时间的获取;缺点是position位置不在activity中是(position-1)
            messageTwo.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (onItemClickLinter!=null){
                        onItemClickLinter.setItemOnItemClick(v,getPosition());


                        onItemClickLinter.setItemOnItemClick(v,getPosition(),1);
                    }
                }
            });

        }
    }

    //创建事件点击的准备工作
    private onItemClickLinter onItemClickLinter;

    public interface onItemClickLinter {

        void setItemOnItemClick(View view, int position);

        void setItemOnItemClick(View view, int position, int flag);
    }

    public void setOnItemClickLinter(onItemClickLinter onItemClickLinter) {
        this.onItemClickLinter = onItemClickLinter;
    }
}
都可以使用看个人的爱好

猜你喜欢

转载自blog.csdn.net/xukangone/article/details/80637283