Oki, wszystko jasne. A czy mogę mieć do Was jeszcze jedną prośbę? Chodzi o pomoc w zrozumieniu kodu odpowiadającego za mój zegar odmierzający czas. Oczywiście wszystko działa, część rzeczy rozumiem jak działają ale paru niestety nie. Poniżej wklejam kod i napiszę w nim komentarze tego co rozumiem i tego czego nie rozumiem. Jeśli gdzieś się pomyliłem to również proszę o poprawienie.
public class app extends AppCompatActivity {
public static Button start; //inicjuję przycisk
private static TextView timer; // inicjuję pole typu texView
Counter time = new Counter(2700000, 1000); //tego właśnie nie rozumiem, wydaje m się że tu inicjuję swój licznik odmierzający czas ilością milisekund od ilu ma mi odmierzać i co ile czyli interwał czasowy.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_singles_carrom);
start = (Button) findViewById(R.id.start);
timer = (TextView) findViewById(R.id.timer);
timer.setText("00:45:00");
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
time.start(); //tu startuję przyciskiem odmierzanie czasu
}
});
}
public class Counter extends CountDownTimer { //tworzę klasę Counter które dziedziczy po CountDownTimer
public Counter(long miliseconds, long interval) { //tych dwóch linijek poniżej właśnie nie rozumiem.
super(miliseconds, interval);
}
@Override
public void onTick(long millisUntilFinished) { //w tej metodzie formatuję sobie swój timer
long milllis = millisUntilFinished;
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(milllis),
TimeUnit.MILLISECONDS.toMinutes(milllis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(milllis)),
TimeUnit.MILLISECONDS.toSeconds(milllis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(milllis)));
timer.setText(hms);
}
@Override
public void onFinish() { //tu mogę wstawić instrukcje co ma się stać gdy licznik zakończy odliczanie.
}
}
}