nextBtn.setOnClickListener(new View.OnClickListener() { 
   public void onClick(View v) {
    // TODO Auto-generated method stub
    flag = false;
    thread.interrupt();
    currentCount = 0;
    currentNum++;
    if(currentNum>patternOrganizationArr.size()){
     if(flag){
      showDialog(2);
     }else{
      showDialog(1);
     }
    }else{
     PlayMethod();
     //flag = true;
     Worker();
    }
   }
  });
 public void Worker(){
  flag = true;
  thread = new Thread(){
   public void run(){
    while(flag){
     
     try{
      Thread.sleep(1500);
        
     }catch(Exception e){
      e.printStackTrace();
     }
     
     handler.post(new Runnable() {
      
      public void run() {
       if(flag){
        // TODO Auto-generated method stub
        PlayMethod();  // 요놈이 thread가 종료되면 실행이 안되야는데,,,,
       }
      }
     });
     
    }
   }
  };
  thread.start();
 }


 

nextBtn을 클릭하면 flag값을 false로 바꾸고 thread를 inturrupt해서 thread를 종료 시키고

 

다시 Worker메소드를 실행시켜 화면을 플레이 시키게끔 했습니다.

 

그런데,, 제 생각대로라면,, PlayMethod()가 thread가 종료가 되면 실행되지 말아야 하는데

 

가끔,, (거의 반이 그런듯,,) PlayMethod가 한번 실행되고 종료가 되는거 같아요,,,

 

ㅜ.ㅜ 이리저리 해봐서 저렇게 로직이 나왔는데,,, 아,, 힘드네요 ㅎㅎㅎ

 

도움좀 로직 보시고 어디가 문젠지 콕 찝어주세요!!!