RecyclerView点击事件,模仿ListView写法

  • RecyclerView做为一个新组件,在定制样式的时候极其灵活和简单,ListView大有被抛弃的态势,不过RecyclerView可能在样式方面的灵活性,致使其在其余方面须要亲自动手设置的方面略微复杂,点击事件就是其中一项,不过假如掌握的话,RecyclerView绝对会发挥巨大的做用的。 仿照ListView.setOnItemClickListener的写法,咱们在RecyclerView.Adapter内部定义一个内部类,来做为对外展现的接口。
public class Adpater extends RecyclerView.Adapter implements View.OnClickListener
{
	public static interface OnItemClickListener{
		/*position此处是每个Item所在的位置,做为Tag*/
		public void setOnItemClick(View v,int position);
	};

	//
	private OnItemClickListener listener;
	/*暴露给外部的接口,给内部类的对象赋值*/
	public void setOnItemClickListener(OnItemClickListener listener)
	{
		this.listener = listener;
	}

	@Override
    public void onBindViewHolder(RecyclerViewHolder holder, final int position) {
    	/*为每个Item设置一个tag*/
    	holder.itemView.setTag(position);
    }

	@Override
    public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.adapter_employ_item,parent,false);
        /*设置每个Item的点击事件*/
        view.setOnClickListener(this);
        return new RecyclerViewHolder(view);
    }

    //点击事件触发,调用实现接口的方法
    @Override
    public void Onclick(View v)
    {
    	  	if (listener!=null) {
    		listener.setOnItemClick(v,v.getTag);
    	}
    }

    public class RecyclerViewHolder extends RecyclerView.ViewHolder{
        
        public RecyclerViewHolder(View itemView) {
            super(itemView);
       
        }
    }
}

相关连接,同时强力推荐此网站学习androidhtml

相关文章
相关标签/搜索