2013-12-11 3 views
0

안녕하십니까. 일정한 기준에 도달하면 매 6 초마다 뭔가를하지 못하도록 막으려 고 노력하고 있습니다. finish()를 사용하는 것으로 생각했지만 이전 레이아웃으로 다시 리디렉션하고 6 초마다 토스트 메시지를 표시합니다. 여기에 기준이 출구를 실행 만난 여전히 기준이 false 인 경우x 초마다 무언가를하지 못하도록 막으십시오.

+1

소스 코드와 관련하여 질문이 있으면 형식이 올바른지 확인하십시오. 이렇게하면 읽을 수 없게됩니다. 질문에 대답하는 방법으로, 당신은'mHandler.postDelayed (this, TIME_DELAY); ''if'의 else 브랜치에서. – Sipka

답변

1

만 즉를 추가합니다 (postDeleyed 전화를 호출 동일한 레이아웃에 머물되면 나는 그것을 가지고 어떻게 실행 방법

protected static final long TIME_DELAY = 6000; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_view); 

     mHandler.post(updateTextRunnable); 
    } 

    Runnable updateTextRunnable=new Runnable(){ 
     public void run() {  

      if(//Criteria==true){ 
        message(); 
         finish(); 
       } 
        mHandler.postDelayed(this, TIME_DELAY); 
       } 
     }; 

public void message(){ 

     Toast.makeText(this, "Found", 
       Toast.LENGTH_SHORT).show(); 
    } 

입니다 else 문).

if(//Criteria==true){  
    message(); 
    finish(); 
} else {  
    mHandler.postDelayed(this, TIME_DELAY); 
} 
+0

와우 나는 그것을 놓쳤다는 것을 믿을 수 없다. 단지 내가 코드를 너무 오래 꼼짝 않고 바라보고 있었다는 것을 의미한다. 나는 그것을 지금 검사 할 것이다. –

관련 문제