我的应用程序中存在基本的 Java 问题。
我正在创建一个弹跳球程序:
- 我有 10 个不同球的 10 个 ImageView 。
- 我有一个 Ball 类,它使用自己的线程(球的物理原理)。
在 MainActivity 中,我创建了一个新球(第一个 ImageView )。
balls[0] = new Ball (this,images[0])
? ? ? 直到第4步一切都很完美, 我可以在屏幕上看到一个弹跳的球,但现在我想添加第二个球,依此类推。 我想等待 5 秒直到下一个球出现,但我被卡住了并且遇到了线程问题。
我的问题是:我应该在哪里放置下一个命令 balls[1] = new Ball(this,images[1]); 以及如何在启动前暂停它并等待 5 秒。
我应该在主要 Activity 中创建另一个线程并使用“ sleep ”吗? 如果是这样-它将是一个调用新线程的线程(我的问题)
最佳答案
不要使用 sleep ,因为您不想让您的 Activity 处于搁置状态并使其无响应。
如果您想等待 5 秒,处理程序可能会帮助您,使用 postDelay:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
balls[1] = new Ball (this,images[1]);
}
}, 5000); //in milliseconds - the code inside run() will run after 5 seconds
您当然可以创建一个循环并用它来处理所有球。
关于java - 创建不同的 ImageView 对象 - 不同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33303939/