1.在ViewHolder中实现onClickListener接口,实现Onclick方法。
2.在整个Adapter类中自定义接口,接口中写一个抽象方法,需要传参(View view,int position)。
3.把这个接口名字当做整个Adapter的全局变量私有的。根据这个全局变量生成set方法(暴露给其他类调用)。
4.在你ViewHolder的OnClick事件中,先判断这个接口变量是否为空,如果不为空,通过接口名.方法名,传递参数(view,getAdapterPosition)。
注:通常我们在onCreateViewHolder方法中给view(即每个item)设置监听,这样我们可以直接让让我们的Adapter实现View.OnClickListener。此方法适合存在多个布局的Adapter中,因为每个布局我们都要生成一个ViewHolder类,如果在ViewHolder类中实现监听,那么得要写好几个。
2.在整个Adapter类中自定义接口,接口中写一个抽象方法,需要传参(View view,int position)。
3.把这个接口名字当做整个Adapter的全局变量私有的。根据这个全局变量生成set方法(暴露给其他类调用)。
4.在你ViewHolder的OnClick事件中,先判断这个接口变量是否为空,如果不为空,通过接口名.方法名,传递参数(view,getAdapterPosition)。
注:通常我们在onCreateViewHolder方法中给view(即每个item)设置监听,这样我们可以直接让让我们的Adapter实现View.OnClickListener。此方法适合存在多个布局的Adapter中,因为每个布局我们都要生成一个ViewHolder类,如果在ViewHolder类中实现监听,那么得要写好几个。