adapter中的callback写法与调用。

2019-12-31  本文已影响0人  adustdu2015

新建一个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还是挺麻烦的。

上一篇 下一篇

猜你喜欢

热点阅读