Autore Topic: Chronometer  (Letto 1134 volte)

Offline walter90

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Chronometer
« il: 09 Novembre 2012, 11:45:11 CET »
0
Salve a tutti . Premetto di essere alle prime armi con la programmazione android . Sto cercando di programmare un cronometro che venga avviato dopo aver premuto un bottone start e fermato dopo la pressione di un bottone stop , con lo scopo di ricevere dei messaggi(audio) di output ogni tempo t. Il mio problema è che appena mando in esecuzione l'app il cronometro inizia a contare da solo(senza visualizzare il conteggio a video fin quando non  premo lo start), nonostante io abbia messo la condizione di start solo nel caso in cui il pulsante apposito venga premuto. C'è qualke metodo che devo richiamare sul cronometro in modo da tenerlo buono buono? grazie in anticipo per la risposta :)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Chronometer
« Risposta #1 il: 09 Novembre 2012, 11:54:43 CET »
0
Posta il codice.

Offline walter90

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Chronometer
« Risposta #2 il: 09 Novembre 2012, 11:56:29 CET »
0
package speaktimer.walter;



import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;

import android.widget.TextView;
import android.view.View;

public class MainActivity extends Activity {
private TextView t1;
private Button bott1, bott2;
private Chronometer timer;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        t1 = (TextView) findViewById (R.id.testo1);
        t1.setText("Testo modificato");
       
        bott1 = (Button) findViewById (R.id.b1);
        bott2 = (Button) findViewById (R.id.b2);
       
        timer = (Chronometer) findViewById (R.id.c1);
       
     
        View.OnClickListener gestore = new View.OnClickListener() {
         
         public void onClick(View view) {
            switch (view.getId()){
            
            case R.id.b1:
               t1.setText("Start premuto");
               timer.start();
               
               break;
            case R.id.b2:
               t1.setText("Stop premuto");
               timer.stop();
               break;
            }
         }
      };
      
      
      bott1.setOnClickListener(gestore);
      bott2.setOnClickListener(gestore);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Chronometer
« Risposta #3 il: 09 Novembre 2012, 12:02:40 CET »
0
Il codice mi sembra corretto... dai una occhiata a questo tutorial, magari trovi l'errore Stop Watch Example | Android Tutorial | Android SDK Development & Programming

Offline walter90

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Chronometer
« Risposta #4 il: 09 Novembre 2012, 12:09:03 CET »
0
Grazie per la disponibilità. Proverò a dare un occhiata a quel tutorial

Offline walter90

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Chronometer
« Risposta #5 il: 09 Novembre 2012, 13:04:21 CET »
0
Ho dato un'occhiata a quel tutorial. Cosa veramente strana è che anke a lui da lo stesso problema. Il cronometro parte all'avvio dell app. Premendo il bottone start non fa altro ke visualizzare il conteggio che è gia partito da un pezzo :( Possibile che debba andare a scrivermi una classe Cronometro di sana pianta?

Offline walter90

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Chronometer
« Risposta #6 il: 13 Novembre 2012, 09:46:31 CET »
0
Sono riuscito a risolvere il problema relativo al cronometro. Ora ho un richiesta un po stupida. Come faccio a verificare se una data condizione è avvenuta?cioè voglio controllare in ogni istante se il contatore ha raggiunto o meno un certo numero di secondi. In C# quando sviluppo in XNA ho un metodo upDate ke controlla 60 volte al secondo se una data condizione si è verificata o no.C'è qualcosa di simile anke per android?Oppure qualke listener particolare. Scusate la domanda idiota ma sono proprio alle prime armi

jfrankie

  • Visitatore
Re:Chronometer
« Risposta #7 il: 16 Novembre 2012, 10:15:23 CET »
0
Se non è troppo tardi puoi dare un'occhiata anche a questo link http://www.survivingwithandroid.com/2012/11/android-chronometer-custom-component.html dove viene descritto come creare un cronometro

Offline harlock6611

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    tablet
  • Sistema operativo:
    windows 7
Re:Chronometer
« Risposta #8 il: 14 Novembre 2016, 18:57:04 CET »
0
Scusa come hai risolto il problema del cronometro che si avvia da solo quando parte l'app?