好的,你需要稍微改变你的代码,
>您需要将Seconds变量更改为类级别
>您需要更改您的间隔,如下所示,
来自counter = new MyCount(3600000,10); to counter = new MyCount(3600000,1000);因为第二个参数是毫秒.我在下面的代码中完成了所有更改,
public class MainActivity extends Activity
{
TextView timerView;
Button end,SOS;
String output;
MyCount counter;
int length;
// Change by Lucifer
long seconds;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timerView=(TextView)findViewById(R.id.tv_timer_track_me);
// counter = new MyCount (3600000,10);
counter = new MyCount (3600000,1000);
counter.start();
}
public String formatTime(long millis)
{
output = "";
seconds = millis / 1000;
long minutes = seconds / 60;
long hours=minutes/ 60;
seconds = seconds % 60;
minutes = minutes % 60;
hours=hours%60;
String secondsD = String.valueOf(seconds);
String minutesD = String.valueOf(minutes);
String hoursD=String.valueOf(hours);
if (seconds < 10)
secondsD = "0" + seconds;
if (minutes < 10)
minutesD = "0" + minutes;
if (hours < 10)
hoursD = "0" + hours;
output = hoursD+" : "+minutesD + " : " + secondsD;
return output;
}
public class MyCount extends CountDownTimer
{
Context mContext;
public MyCount(long millisInFuture, long countDownInterval)
{
super(millisInFuture, countDownInterval);
}
public void onTick (long millisUntilFinished)
{
timerView.setText ( formatTime(millisUntilFinished));
if ( seconds == 0 )
{
Toast.makeText( getApplicationContext(), "Done", Toast.LENGTH_LONG ).show();
}
}
public void onFinish() {}
}
@Override
public void onDestroy()
{
super.onDestroy();
counter.cancel();
}
}