我正在制作一个简单的软件,模仿人类对文字的反应(听起来很奇怪,我知道......)并且在我收到程序的响应后我停留在控制台暂停的部分。例如:我输入“Hi”,之后程序显示“Hello”,之后我需要控制台暂停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();
}