我想每5秒重复调用一个方法,每当我希望停止对该方法的重复调用时,我都可以停止或重新启动该方法的重复调用。
这是一些我真正想实现的示例代码。请在这方面帮助我,我会非常感谢你。
private int m_interval = 5000; // 5 seconds by default, can be changed later
private Handler m_handler;
@Override
protected void onCreate(Bundle bundle)
{
...
m_handler = new Handler();
}
Runnable m_statusChecker = new Runnable()
{
@Override
public void run() {
updateStatus(); //this function can change value of m_interval.
m_handler.postDelayed(m_statusChecker, m_interval);
}
};
public void startRepeatingTask()
{
m_statusChecker.run();
}
public void stopRepeatingTask()
{
m_handler.removeCallbacks(m_statusChecker);
}
使用计时器任务在特定时间间隔后调用
Timer timer = new Timer();
timer.schedule(new UpdateTimeTask(),1, TimeInterval);
和
class UpdateTimeTask extends TimerTask {
public void run()
{
// do stufff
}
}
在创建()
方法中使用处理程序。其 postDelayed()
方法导致将可运行
对象添加到消息队列中,并在经过指定的时间量(即给定示例中为 0)后运行。然后,这将在固定时间速率(在本例中为 1000 毫秒)后自行排队。
参考此代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
android.os.Handler customHandler = new android.os.Handler();
customHandler.postDelayed(updateTimerThread, 0);
}
private Runnable updateTimerThread = new Runnable()
{
public void run()
{
//write here whaterver you want to repeat
customHandler.postDelayed(this, 1000);
}
};
使用此设置重复任务:
//Declare the timer
Timer t = new Timer();
//Set the schedule function and rate
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
//Called each time when 1000 milliseconds (1 second) (the period parameter)
}
},
//Set how long before to start calling the TimerTask (in milliseconds)
0,
//Set the amount of time between each execution (in milliseconds)
1000);
如果你想取消任务,只需调用t.cancel()
这里t
是你的Timer
对象
你也可以查看你答案下面的评论,他们已经给出了简短的信息。
问题内容: 我想每隔5秒重复调用一次方法,每当我希望停止该方法的重复调用时,我可能会停止或重新启动该方法的重复调用。 这是一些我真正想要实现的示例代码。在这方面请帮助我,我将非常感谢您。 问题答案: 使用以下命令设置重复任务: 如果您想取消任务,只需调用这里就是您的对象 并且您还可以检查答案下方的评论,他们已经提供了有关此内容的简短信息。
我正在开发一个GUI,它允许用户决定是继续执行脚本还是终止脚本,但如果用户在15分钟内没有响应,我希望关闭窗口并自动执行脚本的其余部分。我用过根。函数中的destroy(),但它仅在用户响应时执行。 我尝试过在试用的基础上使用倒计时功能,但它不起作用,因为没有用户响应控制就不会进入倒计时功能。我有什么办法能完成这项任务吗?
问题内容: 我的Java Scheduler有一个问题,我的实际需要是我必须在特定时间启动我的进程,并且我将在特定时间停止,我可以在特定时间启动我的进程,但是我不能在特定时间停止我的进程,如何指定进程在调度程序中运行多长时间(在这里我不会放),任何人对此都有建议。 问题答案: 您可以使用带有2个计划的计划,一个计划运行任务,另一个计划终止任务-参见下面的简化示例:
我想为一个笔记应用程序添加笔记加号。我做了一个固定位置的圆,这样它总是可见的。然后,我想做两条线,形成一个加号,并将这些线居中。这是代码: null null 请告诉我如何将加号居中到固定位置的圆上。谢谢!
问题内容: 我在一个包含日期/时间的网格中有一个字段,我需要知道该日期和当前日期/时间之间的区别。这样做的最佳方法是什么? 日期存储为。 问题答案: 这将为您提供两个日期之间的时差,以毫秒为单位 在您的示例中, 您需要确保这是一个有效的对象。 这样的事情可能会为您工作 即变成,这是构造函数可以理解的格式。
问题内容: 匹配条件后,如何在一段时间后更新表? 我需要在满足某些条件后进行更新,并在2天后根据收到的最新答案(即e)进行更新,因此应在上进行更新。 问题答案: 试试这个 如此看来,这两个表是由相连的,并且具有的最新回答日期。通过使用我们可以知道今天的日期和比赛的答案之间的差异。