2015-01-09 8 views
1

정지 시계처럼 크로노 미터를 시작 및 중지하는 토글 버튼이있는 앱을 만들었습니다. 처음으로 토글 버튼 (.start() 실행)을 누르면 크로노 미터가 카운트를 시작하고 다시 버튼을 누르면 (.stop() 실행) 크로노 미터가 카운트를 멈추도록 화면에 나타나지만 다시 시작되면 실제로 백그라운드에서 계속 계산하고

Android 크로노 미터가 시작되고 중지되지만 멈췄을 때 계속 계산됩니다.

코드 결코 멈추지 않았다 것처럼 화면에 시간이 표시되어 있다고 :

tglStartStop.setOnCheckedChangeListener(new OnCheckedChangeListener(){ 

     @Override 
     public void onCheckedChanged(CompoundButton buttonView, 
       boolean isChecked) { 

      if (tglStartStop.isChecked()) { 

       chronStopwatch.start(); 
      } 

      else { 

       chronStopwatch.stop(); 
      } 

     } 

    }); 
+1

그냥 추측 할 수 있지만'set() '을 호출하기 전에'setBase (...)'를 호출해야합니다. 그 이유는'start()'와'stop()'은'setBase (...) '메소드에 의해 원래 설정된'base '시간을 변경하지 않기 때문이다. 바꾸어 말하면, '크로노'는 멈춘 후에 실제로 카운트를 계속하지 않지만 멈추거나 다시 시작하면 카운트는 원래 기본 시간과 관련됩니다. – Squonk

답변

7

전에이 줄을 추가 "chronStopwatch.start를();"

+2

OP 질문에 대한 제 의견에 조언 한 내용이 아닙니까? – Squonk

+1

당신의 권리는 나를 위해 일합니다. – Giridharan

+0

@ 스컹크 글쎄, 당신은 방금 Giridharan에 의해 제공되는 작업 솔루션을 보완하는 이론에 대한 좋은 설명을주었습니다. –