2011-05-05 5 views
0

내 활동 A에 카운터가 있으며 완료되면 일부 작업을 수행해야합니다. 문제는 내가 다른 액티비티로 이동할 때 카운터가 재설정되고이 액티비티 A로 되돌아 오는 것입니다. 왜 그래야만하지?활동이 재개 될 때 카운터가 다시 시작되지 않음

내 카운터 클래스는 다음과 같습니다

new Counter(countdowntime * 60 * 1000), 1000).start(); 

어떻게이 문제를 해결하려면

private class Counter extends CountDownTimer { 

     public Counter(long millisInFuture, long countDownInterval) { 
      super(millisInFuture, countDownInterval); 
     } 

     public void onFinish() { 
      //perform some actions 
     } 

     public void onTick(long millisUntilFinished) { 
      int minute = (int) (millisUntilFinished/(1000 * 60)); 
      int sec = (int) ((millisUntilFinished - (minute * 60 * 1000))/1000); 
      minuteText.setText("" + minute); 
      secondText.setText("" + sec); 
      } 
     } 
    } 

내가 같은 onCreate() 내 카운터에 전화? 회신 해주십시오. 미리 감사드립니다.

+0

본 수업에 대한 경험이 없습니다. 두 개의 EditText Views에 타이머의 상태를 저장하는 경우. 표준 기술을 사용하면 오리엔테이션 변경시에도이 필드의 상태가 유지되어야하므로이 뷰에 저장된 상태를 사용하여? onCreate의 카운터를 다시 초기화 할 수 있어야합니다. 보다 깨끗한 해결책은 onSaveInstanceState에서 번들에 남은 시간을 쓰고 onCreate에서 번들을 읽는 것입니다 – JAL

답변

0

나는 그것을 얻었습니다. 문제는 제가 활동 스택을 사용하고 있다는 것입니다 ... 의도를 불러내는 동안 각 의도를 고유하게 식별 할 수 있도록 ID를 부여해야합니다. 내가 그것을 주었을 때, 효과가 있었다.

0

당신은 아마 onResume 대신의 onCreate에 카운터를 시작하고 onPause에서 카운터를 일시 정지한다 (또는 카운터를 완료 할 수 isFinishing() 반환 onPause에서 true 경우).

관련 문제