TextClock中怎么实现自动更新时间

avatar
作者
猴君
阅读量:0

要实现TextClock自动更新时间,可以使用Handler和Runnable来定时更新TextClock的时间。具体步骤如下:

  1. 创建一个Handler对象,用来定时更新时间。
  2. 在Activity的onCreate方法中初始化Handler,在Handler中创建一个Runnable对象,用来更新TextClock的时间。
  3. 在Runnable对象中使用postDelayed方法来延时更新时间,然后再次调用自身来实现循环更新时间的效果。
  4. 在Activity的onResume方法中启动更新时间的功能,在onPause方法中停止更新时间的功能,以避免在Activity不可见时浪费资源。

示例代码如下:

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); // 每秒更新一次时间             }         });     }      @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);     } } 

以上代码会在每秒更新TextClock的时间。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!