有时候,我们在使用第三方SDK时,不是我们自己对控件进行点击监听,而是需要把控件传给第三方使用.但是,我们又想要知道他什么时候被调用了,这时候我们可以对listener对象进行包装处理.
@Override
public void setOnClickListener(OnClickListener l) {
super.setOnClickListener(new SuperOnClickListener(l));
}
public class SuperOnClickListener implements OnClickListener {
OnClickListener mOnClickListener;
public SuperOnClickListener(OnClickListener onClickListener) {
mOnClickListener = onClickListener;
}
@Override
public void onClick(View view) {
Log.d(">>>>>>>>>", "onClick: 控件被点击");
mOnClickListener.onClick(view);
}
}
这样,可以在正常执行第三方代码的情况下,再执行自己的代码