Ecco.
Per rendere più "praticabile" la scelta, ho deciso di inserire i valori di 5 in 5. Potrei decidere anche di immetterli di 10 in 10, e forse è meglio.
Per fare questo, divido il numero progress della SeekBar per il "salto" della numerazione (divisione intera) e poi moltiplicare il risultato per 5, ottenendo questo:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
che funziona.Quindi calcolo su questo ore e minuti: le ore facendo la divisione intera del numero per 60, i minuti facendo il modulo:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
int ore=numero/60;
int minuti=numero%60;
E quindi riporto sulla TextBox:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
int ore=numero/60;
int minuti=numero%60;
textView.setText(ore+" "+minuti);
Stessa cosa per l'altra SeekBar in cui voglio mettere il valore massimo dell'intervallo di campionamento:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
int ore=numero/60;
int minuti=numero%60;
textView2.setText(ore+" "+minuti);
Ora metto i vincoli:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
int ore=numero/60;
int minuti=numero%60;
textView.setText(ore+" "+minuti);
if(progress>seekBar2.getProgress()) seekBar2.setProgress(progress);
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int numero=5*(progress/5);
int ore=numero/60;
int minuti=numero%60;
textView2.setText(ore+" "+minuti);
if(progress<seekBar1.getProgress()) seekBar1.setProgress(progress);
E funziona praticamente egregiamente.
Nessun commento:
Posta un commento