Autore Topic: Timer che non parte...  (Letto 672 volte)

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
Timer che non parte...
« il: 26 Dicembre 2011, 22:05:42 CET »
0
Ciao a tutti, nel mio programma devo aggiornare una TextView ogni minuto(una sorta di conto alla rovescia ogni minuto che passa).

Premesso che mi sono informato e ho seguito diverse guide, ho il problema che il thread non vuole partire.
Per semplificare le cose, vi posto un esempio(che non funziona) proprio per capire perche non parte il thread:

Codice (Java): [Seleziona]
public class UniActivity extends Activity implements OnCheckedChangeListener {

        Timer myTimer;
        TextView tvTimer;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tvTimer=(TextView) findViewById(R.id.timer);
        tvTimer.setText("false")
     }//onCreate

        protected void onResume() {
                // TODO Auto-generated method stub
                super.onResume();
                myTimer = new Timer();
                aggiornaTimer();
        }//onResume

        public void aggiornaTimer(){
               
                TimerTask timerTask=new TimerTask(){
                        public void run(){
                               tvTimer.setText("true");
                        }
                };//TimerTask
                myTimer.schedule(timerTask, 5000);
        }//aggiornaTimer
    }//UniActivity

Da quanto ho letto il metodo schedule fa partire automaticamente il thread... ma purtroppo cosi non succede :(
sapreste dirmi come mai???
Grazie mille.
« Ultima modifica: 26 Dicembre 2011, 22:20:48 CET da FeRoX »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Timer che non parte...
« Risposta #1 il: 26 Dicembre 2011, 22:19:46 CET »
0
Non credo che puoi usarlo in quel modo perchè tenti di aggiornare una TextView da un thread che non è quello principale. Devi usare un handler :)
Oppure, se devi realizzare un conto alla rovescia dai un occhio a questa classe:

CountDownTimer | Android Developers

Offline FeRoX

  • Utente junior
  • **
  • Post: 67
  • Respect: +2
    • Mostra profilo
Re:Timer che non parte...
« Risposta #2 il: 26 Dicembre 2011, 22:21:59 CET »
0
Se è cosi, si spiega perche riesco a far partire un'activity da un Timer ma non modificare una TextView.... proverò allora con le altre due cose che mi hai indicato... grazie mille ;)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Timer che non parte...
« Risposta #3 il: 27 Dicembre 2011, 08:49:21 CET »
0