ListView
有很方便的AdapterView.OnItemClickListener
接口,通过一个.setOnItemClickListener(context)
即可方便的设置每个Item
的点击事件,但RecyclerView
没有这样的接口,但在实际编码过程中,我们需要自己写一个接口。
设计
- 利用Java的代理机制
- Google提供了另一个内部接口:
OnItemTouchListener
实现方法一
利用接口静态代理
Adapter外部:
Context implements myAdapter.OnMyItemClickListener {
......
myAdapter = new myAdapter(list,context);
//设置自定义监听器
myAdapter.setOnMyItemClickListener(context);
recyclerView = (RecyclerView) rootView.findViewById(R.id.favorite_rv);
recyclerView.setAdapter(myAdapter);
......
void onMyItemClick(Object Object...){}