if(touchX >= 53 && touchX <= 165 && touchY >= 105 && touchY <= 210){	
    				pool.play(angel_head, 1, 1, 0, 0, 1);
    				
    				moving_character_angel.clearAnimation();
    				moving_character_angel.setVisibility(View.INVISIBLE);
    				moving_character_angel_head.setVisibility(View.VISIBLE);
    				
    				Log.i("my","start_time");
    				
    				MatrixTime(1500);
    				Log.i("my","finish_time");
    				moving_character_angel_head.setVisibility(View.INVISIBLE);
    				moving_character_angel.setVisibility(View.VISIBLE);
    				moving_character_angel.startAnimation(waiting_moving);	
    			}
이 코드를 보시면 if 문에 들어와서, 현재 동작하는 애니메이션을 clearAnimation()으로 멈춘다음,

이미지를 안보이게 만든 다음, 해당 이벤트에 알맞은 이벤트를 보여줍니다.

그다음 MatrixTime()은 해당 숫자만큼 시간을 delay 시키는 함수로, sleep() 과 동일한 기능을 합니다.

그 다음 해당 이미지를 다시 안보이게 한 다음, 원래 이미지를 보여주며 원래의 애니메이션을 재가동 시키는 코드거든요

근데 여기서 문제는 moving_character_angel_head.setVisibility(View.VISIBLE); 가 호출이 안되는 것처럼 동작을 합니다.

이미지 가져와서 보여주는 것이 생략되고 그냥 시간을 멈춘 후 다음 단계로 가는 것 같은데..
(즉, 이전 코드 작업을 완료도 안 한 채로 다음 코드를 실행하는 걸로 보이는데요; 실제로 애니메이션 작업은 내부적으로 쓰레드를 만들어 돌리는거처럼)

저 MatrixTime이라는 만든 함수를 사용해도 그렇도 sleep 을 사용해도 그렇도 계속해서 제대로 동작을 안하네요 ㅠㅠㅠ

이런 문제를 어떻게 해결해야 할까요??? 힌트를 좀 부탁드립니다~

Entrepreneur, Embedded/Software Engineer