adapter中的callback写法与调用。

新建一个callback方法。
在recyclerView经常会遇到子项的点击事件,添加callback回调;

1.新建一个interface

 public interface ItemClickCallBack{
        void onItemClick(int pos);
    }

2.在该类中定一个变量。

  private ItemClickCallBack clickCallBack;

3.为这个类暴露出一个callback方法。

   public void setClickCallBack(ItemClickCallBack clickCallBack) {
        this.clickCallBack = clickCallBack;
    }

4.在逻辑处理部分调用它。

 viewHolder.mTextView.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if(clickCallBack != null){
                            clickCallBack.onItemClick(position);
                        }
                    }
                }
        );

5.在adapter中调用这个方法。

mAdapter.setClickCallBack(
                new MyAdapter.ItemClickCallBack() {
                    @Override
                    public void onItemClick(int pos) {
                        // a demo for notifyItemRemoved
                        listData.remove(pos);
                        mRecyclerView.notifyItemRemoved(listData,pos);
                    }
                }
        );

相对来说callback还是挺麻烦的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容