Alla partenza dell'Activity viene registrata l'ora in millisecondi, poi all'interno del thread viene effettuata la differenza in millisecondi tra la data attuale e quella della partenza ed il tutto viene formattato come ore:minuti:secondi
---------------------------------------------------------------------------
package com.example.timer;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.widget.TextView;
@SuppressLint("SimpleDateFormat")
public class MainActivity extends Activity {
private TextView txttimer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txttimer = (TextView)findViewById(R.id.timer);
final long partenza = System.currentTimeMillis();
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
long attuale = System.currentTimeMillis();
String tempo = new SimpleDateFormat("HH:mm:ss").format(attuale-partenza);
txttimer.setText(tempo);
}
});
}
}, 0, 1000);
}
}
Nessun commento:
Posta un commento