Android button onclick override

You were really close:

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class CustomButton extends Button implements OnClickListener{

    public CustomButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    public CustomButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public CustomButton(Context context) {
        super(context);
        init();
    }

    private void init(){
        setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        // Do something
    }

}

In your button class just implement:

@Override
public void onClick(View v) {
    showSomething();
}

Or if you want more granular control:

@Override
public boolean onTouchEvent(MotionEvent event) {
    showSomething();
}

You can either implement your click logic in the method by checking the event.getAction(), or send it to a GestureDetector to figure out when a click has been performed.