Autore Topic: Tenere traccia del movimento di una seekbar  (Letto 264 volte)

Offline MasterChief

  • Utente junior
  • **
  • Post: 83
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    OnePlus X
  • Sistema operativo:
    windows 10
Tenere traccia del movimento di una seekbar
« il: 04 Marzo 2015, 21:13:13 CET »
0
Ciao a tutti ragazzi, ho un problema che riguarda l'uso di una SeekBar. Io devo inviare su una porta seriale (funzionante) i dati che ottengo con il movimento di una seekbar; per spiegarmi meglio, quando muovo la seekbar ad ogni spostamento dovrei leggere il suo "progress" e inviarlo su seriale.
Ho letto online che questo codice consente di tracciare i movimenti continui della SeekBar (c'è anche il mio codice aggiunto)
Codice (Java): [Seleziona]
           @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                        zerostart[0] = (byte) sb1.getProgress();
                        blockToSend = zerostart;
                        try {
                            if (mOutputStream != null) {
                                mOutputStream.write((blockToSend != null) ? blockToSend : new byte[0]);
                                mOutputStream.flush();
                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
            }
... Però non invia nulla sulla porta seriale e non so più dove sbattare la testa, e magari non è neanche il modo corretto di farlo.
Chi ha esperienze e/o conoscenze in merito potrebbe darmi una mano gentilmente?  :-)
Grazie mille in anticipo per l'attenzione.

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Tenere traccia del movimento di una seekbar
« Risposta #1 il: 04 Marzo 2015, 22:44:39 CET »
0
beh... non mandi il valore della sickbar...
il valore è contenuto nella variabile progress, che va dal min a max della barra (lo setti tu)
Prova semplicemente ad inserire una prntf di progress, e vedi.
Dopo pensi ad inviarlo alla porta seriale

Offline MasterChief

  • Utente junior
  • **
  • Post: 83
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    OnePlus X
  • Sistema operativo:
    windows 10
Re:Tenere traccia del movimento di una seekbar
« Risposta #2 il: 04 Marzo 2015, 23:10:49 CET »
0
Grazie mille per la dritta. Appena ho un attimo provo  :-)

EDIT: Ho provato e il funzionamento che mi interessa avviene con il metodo onStopTrackingTouch(). Ho fatto un print su debug del valore come dicevi tu e ad ogni spostamento lo visualizzo correttamente. Non mi spiego il fatto che sia sull' onStopTracking anziché sul onProgressChanged.

EDIT2: ho risolto; non funzionava perché sto usando una verticalSeekBar, quindi un componente custom, e facevo l'override dell'onTouchEvent() e quindi mi sballavo il controllo devi movimenti. Adesso ho sistemato e funziona tutto quanto, ovviamente ho dovuto sistemare anche il codice dell'onProgressChanged. Grazie ancora a gabric per l'aiuto :-)
« Ultima modifica: 06 Marzo 2015, 09:46:25 CET da MasterChief »