Как получить процент от бегущих часов, деленных на указанную переменную java - PullRequest
0 голосов
/ 22 января 2020

у меня есть этот код, где переменная 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% и не увеличивается. У кого-нибудь есть какие-то решения?

...