My boss says I write Listeners wrong, and can not bring any good arguments as the why. The way I usually do it is this:
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
if (R.id.basketCancel == view.getId()) {
Observer.getInstance().send(MessageType.SCAN_STATUS, new ScanEvent(true));
dismiss();
return;
}
}
};
and
cancel.setOnClickListener(onClickListener );
He requires me to write it like so:
private class ClickButtonHandler implements View.OnClickListener {
@Override
public void onClick(View v) {
if (R.id.basketCancel == v.getId()) {
Observer.getInstance().send(MessageType.SCAN_STATUS, new ScanEvent(true));
dismiss();
return;
}
}
}
and
private ClickButtonHandler clickButtonHandler = new ClickButtonHandler();
...
cancel.setOnClickListener(clickButtonHandler);
I believe that it complicates things. He believes that so I can implement multiple listeners everywhere to use one object of this class. But I usually use only View.OnClickListener
And the structure itself is not like me. How do I explain to him and to prove that I do better? or do you think he's right? I can not understand?