TextClock涓€庝箞瀹炵幇鑷姩鏇存柊鏃堕棿
瑕佸疄鐜癟extClock鑷姩鏇存柊鏃堕棿锛屽彲浠ヤ娇鐢℉andler鍜孯unnable鏉ュ畾鏃舵洿鏂癟extClock鐨勬椂闂淬€傚叿浣撴楠ゅ涓嬶細
- 鍒涘缓涓€涓狧andler瀵硅薄锛岀敤鏉ュ畾鏃舵洿鏂版椂闂淬€?/li>
- 鍦ˋctivity鐨刼nCreate鏂规硶涓垵濮嬪寲Handler锛屽湪Handler涓垱寤轰竴涓猂unnable瀵硅薄锛岀敤鏉ユ洿鏂癟extClock鐨勬椂闂淬€?/li>
- 鍦≧unnable瀵硅薄涓娇鐢╬ostDelayed鏂规硶鏉ュ欢鏃舵洿鏂版椂闂达紝鐒跺悗鍐嶆璋冪敤鑷韩鏉ュ疄鐜板惊鐜洿鏂版椂闂寸殑鏁堟灉銆?/li>
- 鍦ˋctivity鐨刼nResume鏂规硶涓惎鍔ㄦ洿鏂版椂闂寸殑鍔熻兘锛屽湪onPause鏂规硶涓仠姝㈡洿鏂版椂闂寸殑鍔熻兘锛屼互閬垮厤鍦ˋctivity涓嶅彲瑙佹椂娴垂璧勬簮銆?/li>
绀轰緥浠g爜濡備笅锛?/p>
public class MainActivity extends AppCompatActivity {
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextClock textClock = findViewById(R.id.textClock);
mHandler = new Handler();
mHandler.post(new Runnable() {
@Override
public void run() {
textClock.setText(new SimpleDateFormat("HH:mm:ss").format(new Date()));
mHandler.postDelayed(this, 1000); // 姣忕鏇存柊涓€娆℃椂闂?/span>
}
});
}
@Override
protected void onResume() {
super.onResume();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mHandler.postDelayed(this, 1000);
}
}, 1000);
}
@Override
protected void onPause() {
super.onPause();
mHandler.removeCallbacksAndMessages(null);
}
}
浠ヤ笂浠g爜浼氬湪姣忕鏇存柊TextClock鐨勬椂闂淬€?/p>