Is it a good practice to have static final field DUMMY in interfaces used as listeners?
A common pattern to avoid these instances is to create a 'default' abstract class for the interface. One that comes to mind is the SAX parser's DefaultHandler

Consider an abstract class (marked abstract even though it implements the method):

public abstract class DefaultOnClickListener implements MyOnClickListener {
    public void onClick() {
        // override to implement
    }
}


Now, you can extend the class, and chose to change the behaviour, by overriding the method, or leaving the default behaviour, by not overriding the method.

This solution means that the dummy implementations are only in one place.