主要是在Runnable的run中用Handler来post其自身
package com.example.activity_and_service;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.os.Handler;
import android.widget.TextView;
import java.util.Calendar;
public class MainActivity extends Activity{
TextView mClock;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
mClock = new TextView(this);
setContentView(mClock);
}
private Handler handler = new Handler();
private Runnable task = new Runnable() {
public void run()
{
Calendar now = Calendar.getInstance();
mClock.setText(String.format("%02d:%02d:%02d", now.get(Calendar.HOUR),
now.get(Calendar.MINUTE), now.get(Calendar.SECOND)));
handler.postDelayed(task, 1000);
}
};
public void onResume()
{
super.onResume();
handler.postDelayed(task, 1000);
}
public void onPause()
{
super.onPause();
handler.removeCallbacks(task);
}
}