RecyclerView的适配器中定义了一个switch,如何在主程序中监听switch的状态?

两个class的代码,第一个是主程序的 extends AppCompatActivity 的代码,一个是class是写的是recyclerview的适配器代码。我现在只会在适配器代码中的
onBindViewHolder为每一个itemview中的switch设定监听,但是我想在主程序中对每一个switch实现监听,请问应该怎么办,谢谢

在适配器中写一个通用的switch点击方法,然后在主程序中通过itemclick来监听
--------补充------------------
首先,在你的适配中定义如下的代码,其中RecordItemAdapter改为你的适配器:

//===========================为item添加点击事件=======================================
//第一步:自定义一个回调接口来实现点击
public interface OnItemClickListener{
        void onItemClick(View v,int position);
}
//第二步:声明自定义的接口
public RecordItemAdapter.OnItemClickListener mOnItemClickListener;
//第三步:定义方法并暴露给外面的调用者
public void setOnItemClickListener(RecordItemAdapter.OnItemClickListener listener){
        this.mOnItemClickListener = listener;
}

再自定义一个viewholder

public class MyRecordViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        @BindView(R.id.btn_mapview)
        Button btnMapview;//这里可以改成switch控件
        public MyRecordViewHolder(View itemView){
            super(itemView);
            ButterKnife.bind(this,itemView);
            btnMapview.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (mOnItemClickListener != null) {
                mOnItemClickListener.onItemClick(v, getAdapterPosition());
            }
        }
    }

最后在主程序中实例化适配器,并写如下代码:

mItemAdapter.setOnItemClickListener(mItemClickListener);

private RecordItemAdapter.OnItemClickListener mItemClickListener = new RecordItemAdapter.OnItemClickListener() {
        @Override
        public void onItemClick(View v, int position) {

            switch (v.getId()){
                case R.id.btn_mapview:
                                //在这里可以进行switch控件的点击事件处理
                    break;
            }
        }
    };

以上代码是基于RecyclerView的

switch点击事件是setOnCheckedChangeListener