у меня есть этот код, где переменная date3 из диалогового окна DatePicker.
@Override
public void onTimeSet(TimePicker timePicker, int hour2, int minute2) {
hour2final = hour2;
minute2final = minute2;
Calendar c = Calendar.getInstance ();
c.setTimeInMillis ( 0 );
c.set ( year2final, month2final, day2final, hour2final, minute2final, 0 );
date2 = c.getTimeInMillis ();
difference = date2 - date1;
Calendar c1 = Calendar.getInstance ();
c1.setTimeInMillis ( 0 );
c1.set ( year2final, month2final - 1, day2final, hour2final, minute2final, 0 );
date3 = c1.getTimeInMillis ();
difference3 = date3 - date;
ondatecountdowntext3 ();
и этот код на моем хронометре (как таймер обратного отсчета)
private void starttimercu() {
cupti.setBase ( SystemClock.elapsedRealtime () );
cupti.start ();
ondatecountdowntext3 ();
cupti.setOnChronometerTickListener ( new Chronometer.OnChronometerTickListener () {
@Override
public void onChronometerTick(Chronometer chronometer) {
t1 = SystemClock.elapsedRealtime () - chronometer.getBase ();
t2 = date3;
percentage = t1*100/t2;
tvp.setText ( percentage+"%" );
}
} );
}
t1 - время когда хронометр запускается и работает, а t2 (date3) - общее количество времени в миллисах до тех пор, пока хронометр не будет работать до 100%. Проблема в том, что когда я пытаюсь разделить t1 (время выполнения) и t2 (date3 «общее время»), процентное содержание в texview tvp не запустилось так, как я хочу. Застрял на 0% и не увеличивается. У кого-нибудь есть какие-то решения?