Androidでボタンをダウンしたあとにボタンを越えて離してもアップが機能するようにしたいです このままだとボタンを越えたあとに離しても音がストップしません どうすればいいですか?
Androidでボタンをダウンしたあとにボタンを越えて離してもアップが機能するようにしたいです このままだとボタンを越えたあとに離しても音がストップしません どうすればいいですか? 参考にサンプルです override fun onTouch(view: View, motEvent: MotionEvent): Boolean { when (view.id) { R.id.button -> { when (motEvent.action) { MotionEvent.ACTION_DOWN -> { streamId_to_stop = soundPool.play(soundId, 1f, 1f, 0, 0, 1f) } MotionEvent.ACTION_UP -> { soundPool.stop(streamId_to_stop) } } }
ベストアンサー
ボタンを押した状態で指をスライドさせて、ボタン外で指を離す操作なら when (view.id) { R.id.button -> { 指を離したときのViewは、ボタン上ではないのだからview.idはR.id.buttonにならず、この分岐に入らずに ストップ処理できないのだと思います。 ACTION_DOWNのとき、 soundPool.play()した後、 フラグを立てる ACTION_UPのときはViewIDとか見ずに、フラグが立ってたらsoundPool.stop()して、フラグを倒す って条件分岐にすれば良いと思います。
質問者からのお礼コメント
おおお! ありがとうございます。
お礼日時:6/5 3:34