2013-05-21 2 views
0

첫 번째 탭에서 제대로 작동하지만 두 번째 탭에서는 응답하지 않습니다. 1 초 동안 기다린 다음 'generateRandom()'메서드를 실행하십시오.프레임 애니메이션은 두 번째 클릭으로 실행되지 않습니다.

아무도 도와 줄 수 있습니까?

내 코드 :

paper.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      player.setImageResource(R.drawable.papel1); 
      setTimerImage4Bot(); 
     } 
    }); 


    public void setTimerImage4Bot() { 
     try { 
      handler = new Handler(); 
      frameAnimation = (AnimationDrawable)bot.getDrawable(); 
      frameAnimation.setCallback(bot); 
      frameAnimation.setVisible(true, true); 

      frameAnimation.start(); 
      Log.i("BaoAnh", "START"); 

      handler.postDelayed(new Runnable(){ 
       public void run(){ 
        frameAnimation.stop(); 
        Log.i("BaoAnh","STOP"); 
        generateRandom(); 
       } 
      },1000); 

     }catch (Exception e) { 

     } 
} 
+0

I se 핸들러를 사용하여 timer.schedule을 사용해 보시겠습니까? –

+0

새 TimerTask()와 같은 새 TimerTask를 구현합니다. {@ 재정의 공개 void run() {// 여기에 물건을 수행하십시오}} –

+0

@JeffLee 예를 들어 주시겠습니까? : ... ... ""... 스레드, 핸들러, 타이머와는 아무런 관련이 없습니다. (... – zBaoAnhLe

답변

0

는 사용자 정의 클래스 AnimationTask를 만들고 인터페이스를 구현 TimerTask를 당신의 onclick 방법 내부

private class AnimationTask implements TimerTask{ 
    @Override 
    public void run(){ 
    // Run you code here 
    } 
} 

: 나는 당신을 도울 수

Timer timer = new Timer(); 
timer.schedule(new AnimationTask(), 1000); 

희망 : D

관련 문제