Android增加自定义监听事件

适配器中

public   interface ShippingDelOnClickListener
{
    public void onClickListenerShippingDel(int position);
}

private ShippingDelOnClickListener mShippingDelOnClickListener;

public void setShippingDelOnClickListener(ShippingDelOnClickListener shippingDelOnClickListener) {
    mShippingDelOnClickListener = shippingDelOnClickListener;
}

//这个加到要监听的地方

if(mShippingDelOnClickListener != null){
    mShippingDelOnClickListener
            .onClickListenerShippingDel(mDatas.getData().getList().get(position).getId());
}
viewHolder.mRbAddressDelete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //Intent intent = new Intent()

        ConfirmDialog confirmDialog = new ConfirmDialog();
        confirmDialog.setIConfirmDialogClickListener(new IConfirmDialogClickListener() {
            @Override
            public void onItemClick(String select) {
                if(select.equals("cancel")){
                    //NetToast.showResultInfo(mContext,"点击取消");
                }else if(select.equals("ok")){
                    //NetToast.showResultInfo(mContext,"点击确认");
                    //deleteShipping(mDatas.getData().getList().get(position).getId());

                    
                    //这个加到要监听的地方
                    if(mShippingDelOnClickListener != null){
                        mShippingDelOnClickListener
                                .onClickListenerShippingDel(mDatas.getData().getList().get(position).getId());
                    }


                }
            }
        });
  
    }
});

activity中

private ReservationAddressAdapter mAdapter;
mAdapter = new ReservationAddressAdapter(this, mDatas,getSupportFragmentManager());

mAdapter.setShippingDelOnClickListener(new ReservationAddressAdapter.ShippingDelOnClickListener() {
    @Override
    public void onClickListenerShippingDel(int position) {
        NetToast.showResultInfoDev(ReceivingAddressActivity.this,position+"");
    }
});

1,在需要传出事件的类(xxx.class)中创建接口

public static interface ConvertViewOnClickListener
{
    public void onClickListenerConvertView(int position);
}

private SpecialAdapter.ConvertViewOnClickListener convertViewOnClickListener;

public void setConvertViewOnClickListener(SpecialAdapter.ConvertViewOnClickListener convertViewOnClickListener) {
    this.convertViewOnClickListener = convertViewOnClickListener;
}

并调用事件 

convertViewOnClickListener.onClickListenerConvertView(position);

2,在需要实现的类(yyy.class)中实现(implements)其接口,并设置监听

xxx.setConvertViewOnClickListener(this);

猜你喜欢

转载自blog.csdn.net/qq_27327261/article/details/81635331
今日推荐