创建不同的ImageView对象 - 不同的时间

时间:2015-10-23 13:47:28

标签: java android multithreading sleep java-threads

我的应用程序中存在基本的Java问题 我正在创建一个弹跳球程序:

  1. 我有10个不同球的10个图像视图。
  2. 我有一个Ball类,它使用自己的线程(球的物理学)。
  3. 在MainActivity中我创建了一个新球(第一个图像视图)。

    balls[0] = new Ball (this,images[0])

  4. ? ? ? 一切都很完美,直到第4步, 我可以在屏幕上看到一个弹跳球,但现在我想添加第二个球等等。 我想等待5秒,直到我的下一个球出现,在这里我卡住并遇到线程问题。

  5. 我的问题是:我应该在哪里放置下一个命令 balls[1] = new Ball (this,images[1]);                   如何暂停它等待它开始前5秒。

    我应该在主要活动中创建另一个线程并使用" sleep"?                  如果是这样 - 它将是一个调用新线程的线程(我的问题)

1 个答案:

答案 0 :(得分:1)

不要使用睡眠,因为你不想让你的活动暂停并使其无法响应。

如果您想等待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

你可以创造一个循环并用它来处理所有的球。