您的位置:首页 > 其它

Recycleview的点击事件

2016-11-25 09:22 197 查看
上一篇说到Recycleview的基本使用方法,使用后会发现,并没有像ListView一样有单条点击事件。这篇说到在上一篇基本使用的方法之上怎么设置点击监听:

在Adapter中声明一个接口,设置view的点击事件

//监听写法
public interface OnItemClickCallBack{
void OnItemClickListener(View view,int pos);
}

@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
this.mRecyclerView=recyclerView;

}

//声明全局的回调接口 用于接收MainActivity传递过来的实例化接口
private OnItemClickCallBack onItemClickCallBack;
public void setOnItemClickCallBack(OnItemClickCallBack onItemClickCallBack){
this.onItemClickCallBack=onItemClickCallBack;
}


在Adapter中的onCreateViewHolder

//单条Item的布局
view=LayoutInflater.from(context).inflate(R.layout.item,parent,false);
ViewHolder viewHolder=new ViewHolder(view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickCallBack!=null){

onItemClickCallBack.OnItemClickListener(v,mRecyclerView.getChildAdapterPosition(v));

}
}
});


在MainActivity中

adapter.setOnItemClickCallBack(new MyAdapter.OnItemClickCallBack() {
@Override
public void OnItemClickListener(View view, int pos) {
Toast.makeText(MainActivity.this, "这是"+pos, Toast.LENGTH_SHORT).show();
}
});
}


欢迎批评指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  点击监听