您的位置:首页 > 其它

自定义RecyclerView的item的点击事件

2017-10-02 10:15 429 查看
               自定义RecyclerView的item的点击事件

在Recyclerview 的列表中的监听事件是由自己做的,例如常见的点击条目的   长按的点击条目事件,这有这两个事件,都是有接口的回调完成的。

    自创的步骤为:创建接口OnItemClickLinstener

     在适配器里面对于接口的 实例化

     自定义有参的构造方法

     在MyviewHolder中实现页面的点击事件有参的实例传参赋值,

     在onCreate中去实现adapter的方点击事件的操作。
//创建接口
public  interface OnItemClickLinstener{
//创建接口的方法
public void OnItemClick(View view,int position);
}

public  interface OnItemLongClickListener{
//创建接口的方法
public void OnItemlongClick(View view,int position);
}

在适配器里面实现自创的监听事件
//接口的方法实例化
OnItemClickLinstener   listener;
OnItemLongClickListener    loostener;
//获取方法的传参值
public void setOnItemClickLinstener(OnItemClickLinstener listener) {
//指定当前的值
this.listener = listener;
}

public void setOnLongClickListener(OnItemLongClickListener lootener) {
//指定当前的值
this.loostener=lootener;
}

适配器的监听事件的使用
//条目的点击事件删除条目
adapter.setOnItemClickLinstener(new OnItemClickLinstener() {
@Override
public void OnItemClick(View view, int position) {
list.remove(position);
adapter.notifyDataSetChanged();//刷新
Toast.makeText(MainActivity.this,position+"已经被删除!!!",Toast.LENGTH_SHORT).show();
}
});
//长按的点击事件
adapter.setOnLongClickListener(new OnItemLongClickListener() {
@Override
public void OnItemlongClick(View view, int position) {
Intent    in=new Intent(MainActivity.this,Main2Activity.class);
startActivity(in);
}
});


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