回调函数的使用思维导图
![在这里插入图片描述](https://img-blog.csdnimg.cn/fe591fd3f68f43f891b72058bf7ea100.png#pic_center)
use过程
定义回调函数
public interface OnSeekBarChangeListener {
void onSelectedColor(int commandValue, int colorValue);
void onCanceledColor(int commandValue);
void onSelectedSingleColor(int commandValue);
}
定义接口的实例对象及监听其初始化的方法
定义接口对象
private OnSeekBarChangeListener mSeekBarChangeListener;
定义监听其初始化的方法
public void setOnSeekBarChangeListener(OnSeekBarChangeListener listener) {
mSeekBarChangeListener = listener;
}
其他类实现该接口
private MultiSeekBar.OnSeekBarChangeListener mMultiSeekBarChangeListener = new MultiSeekBar.OnSeekBarChangeListener() {
@Override
public void onSelectedColor(int commandValue, int colorValue) {
switch (commandValue) {
case 1:
mPresenter.sendAtmosphereLampMulticolorCommandOne(colorValue);
break;
default:
break;
}
}
……(省略另外两个类的实现方法)
};
其他类回传初始化对象给本类
multiSeekBar.setOnSeekBarChangeListener(mMultiSeekBarChangeListener);
本类中调用回调方法
if (mSeekBarChangeListener != null)
mSeekBarChangeListener.onSelectedColor(i + 1, mSeekBarCurProcess - 1);
break;