Avatar ·

如何在 Android (Java) 中延迟调用方法

大家好!我是 Android 开发新手,用 Java 编写。遇到这样一个任务:需要在点击按钮后,屏幕上显示 Toast 消息,但不是立即显示,而是 3 秒后。我尝试在 UI 线程中使用 Thread.sleep(3000),但应用卡住了,Toast 也没有出现。我了解到这样做是不行的。 这是我的代码: ```java public void onClick(View v) { try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } Toast.makeText(this, "3秒后你好!", Toast.LENGTH_SHORT).show(); } ``` 很明显,Thread.sleep 阻塞了主线程,UI 无法更新。如何正确实现延迟,使应用不卡顿?我见过关于 Handler 和 Timer 的提及,但不知道如何在这个简单场景中正确应用它们。希望能得到带有解释的详细示例。 <<>>

使用 Handler 实现延迟执行

你代码中的问题在于阻塞了