yashiganiの英傑になるまで死ねない日記

週末はマスターバイクでハイラルを走り回ります

今日の Tips

Button とかの上に View を置いて,ボタンを隠してしかるのちに上の View をどかして Button を出現させる,みたいなコードを書いていたところ,Button の上に別の VIew がいるにもかかわらず, Button がタップを拾っていた.
なにを言ってるのかわからねーと思うが,それに気づいたときおれにもなにが起きているのかわからなかった.

しかたねーので,Android に強い同僚に助けを求めたところ,「そんなばかな!」という反応をしていた.
色々調べてみたけど,どうもプロパティなんかに解決策がなかったっぽいので,以下のように onTouchEvent をいじってやることで対処した.

View cover = findViewById(R.id.cover);
cover.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public void onTouch(View v, MotionEvent e) {
        return true;
    }
});

とりあえず,これで目的の通りに動いたけど,すげー理不尽な思いをした.
もちろん iOS ならこんな問題は発生しない.


にしても,無名クラスは気持ち悪い.
無名関数でさくっとやりたい.