2014-06-05 4 views
0

간단한 시계를 만드는 스크립트를 사용했습니다. 하지만 프로그램을 실행할 때 RUN() 함수가 작동하지만 TextView에 값을 할당하면 불행히도 안드로이드 장치에서 오류가 발생합니다. 문제를 해결하도록 도와주세요. 다음은 로그 캣을 따른다면, 그것은 당신에게 "당신은 별도의 스레드에서 텍스트를 변경할 수 없습니다"의 라인을 따라 뭔가를 얘기해야 내 코드android 안드로이드에서 간단한 시계를 실행하는 방법

TextView tv=(TextView) findViewById(R.id.textView1); 
MyTimerTask mytask=new MyTimerTask(); 
Timer timer = new Timer(); 
timer.schedule(mytask, 3000, 1000); 


class MyTimerTask extends TimerTask { 

public void run() { 
     tv.setText("Testing"); //(WHEN THIS LINE WILL BE COMMENT 
            //IT IS RUNNING PROPERLY BUT WHEN 
            //I SHOW THIS LINE IT SHOW ERROR) 
} 
} 
+0

u는 크로노 미터 – KOTIOS

+0

Google을 한 번 사용하거나이 형식을 사용할 수 있습니다. http://www.java2s.com/Code/Android/UI/ChronometerDemo.htm – KOTIOS

답변

1

입니다. 타이머를 사용할 때, 당신은 그것을하고 있습니다. 당신은 잘 작동합니다 그래서 단순히

tv.post(new Runnable() { 
    public void run() { 
      tv.setText("Testing"); 
    } 
}); 

tv.setText("Testing"); 

를 교체 한 후 UI 스레드에서 실행 가능한 실행됩니다 메시지 큐에 추가합니다 텍스트 뷰를 게시해야합니다.

+0

고마워. 매우 유용합니다. 다시 한 번 감사드립니다. – Kulwant

관련 문제