안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
다름이 아니라 Handler 관련해서 궁금한 사항이 있어서 이렇게 질문드립니다
메소드A 를 하나 만들어서 2초 뒤에 자동으로 다른 메소드를 호출 하도록 handler 를 추가해서
postDelayed 를 사용하였습니다.
그런데 메소드 A 를 2초동안에 여러번 호출을 해야되는 경우도 있는데 제가 원하는 것은
마지막으로 메소드 A를 호출하고 2초뒤에 postDelayed 를 불러오는 그부분이 잘안됩니다.
removeCallbacks 을 사용해도 잘 안됩니다 어떻게 하면 좋을까요?
아래는 허접한 제 소스입니다.
public void LeftSlap(){
sound_pool.play(sound_slap, 1, 1, 0, 0, 1);
image.setImageResource(R.drawable.slap6);
sound_pool.play(sound_slap, 1, 1, 0, 0, 1);
image.setImageResource(R.drawable.slap6);
Handler mHandler = new Handler();
mHandler.removeCallbacks(r);
mHandler.postDelayed(r, 2000);
}
mHandler.postDelayed(r, 2000);
}
매번 새로운 Handler 를 만들기 때문에, removeCallbacks(r) 이 원하는 대로 동작하지 않을 듯 합니다.
sound_pool.play(sound_slap, 1, 1, 0, 0, 1);
image.setImageResource(R.drawable.slap6);
mHandler.postDelayed(r, 2000);
}