gpt4 book ai didi

Android 中的 Java 定时器

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:40 24 4
gpt4 key购买 nike

这在 android 中如何实现?

public final Timer timer = new Timer(10, new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
// Do task here
}
});

我需要能够调用 timer.start();来自计时器所在的 Activity 。

最佳答案

在大多数情况下,使用 Handler 而不是 Timer 会好得多。处理程序能够发送延迟消息。使用处理程序的好处是:

  • 它在主 (UI) 线程上运行 -> 可以访问 View (不同于计时器,不能直接访问 View )
  • 如果需要,您可以删除待处理的延迟消息
  • 更少的代码

例子:

class MyActivity extends Activity {

private static final int DISPLAY_DATA = 1;
// this handler will receive a delayed message
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// Do task here
if (msg.what == DISPLAY_DATA) displayData();
}
};

@Override
void onCreate(Bundle b) {
//this will post a message to the mHandler, which mHandler will get
//after 5 seconds
mHandler.sendEmptyMessageDelayed(DISPLAY_DATA, 5000);
}
}

关于Android 中的 Java 定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com