在控制台中执行后延迟

时间:2015-10-21 11:13:59

标签: java android

我正在制作一个简单的软件,模仿人类对文字的反应(听起来很奇怪,我知道......)并且在我收到程序的响应后我停留在控制台暂停的部分。例如:我输入“Hi”,之后程序显示“Hello”,之后我需要控制台暂停2秒,这样我就不能在暂停期间在控制台中键入任何内容。

2 个答案:

答案 0 :(得分:0)

这是否缺少一些有关您如何实际执行此操作的信息?又名代码。

简单地说:使用Thread.sleep(https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

答案 1 :(得分:0)

我假设你的代码中某处有一个事件,当程序回复" Hello"时会触发。声明一个类变量:

private long replyDelayTimer;

之后,在您发送消息的代码中(当您单击提交按钮,或按键盘上的Enter键)时,检查replyDelayTimer是否已超时:

if (System.currentTimeMillis() - replyDelayTime > 2000) { //2000 ms = 2 seconds
     doThingsWithMessage();
     replyDelayTime = System.currentTimeMillis();
} else {
    Toast.makeText("Please wait " + (System.currentTimeMillis() - replyDelayTime) + " ms." , Toast.LENGTH_SHORT).show();
}