チェックボックスをタップした時にチェックを付けさせないとか意味分からないと思うが、 バリデーションエラーになった場合などでタップしてもチェックを付けたくない場合がある。 そういう場合はonCheckedChangedイベントの中でsetChecked(false)を実行するしかないっぽい。
これだと、setChecked(false)を実行した時にもonCheckedChangedイベントが実行されるのでちょっと注意しないといけないがイベント発火せず状態を変更する方法は無いようなのでしょうがない。
参考: