1. 自定义监听器的实现:
- 定义一个监听接口
public interface OnStatusChangListener {
void onStatusChanged(String action, int value, int position);
}
在MyClass自定义类中定义一个监听接口OnStatusChangListener,接口中声明一个方法onStatusChanged给使用该接口的类实现具体过程
- 声明接口并实现一个设置监听器的方法
private OnStatusChangListener mListener = (action, value, position) -> {
};
提供设置setOnStatusChangedListener方法
public void setOnStatusChangedListener(OnStatusChangListener listener) {
mListener = listener;
}
-
对应的情况下调用该接口的方法 定义一个方法去判断进行添加监听器
private void notifyListenerIfChanged(boolean success,String action, String newStatuValue, int position) {
if (success) {
mListener.onStatusChanged(action, newStatusValue, Constant.INSTANCE.getActionBroadcastArray().indexOf(action));
}
}
2.自定义监听器的使用:
- 给监听器所在类的实例实现监听接口中方法
binder.setOnStatusChangedListener(DriverLessService.OnStatusChangListener { action, value, position ->
dataList[position].showValue = getVehicleStatus(value)
dataAdapter.notifyItemChanged(position)
})
|