我正在尝试完成一些非常简单的事情。首先,加载我的布局 (main.xml)。然后等待1秒,修改一张图片,等待1秒修改为第三张图片。 (当然,我的最终目标更复杂,但我什至无法让它发挥作用)。
基本上,我在加载应用程序时遇到黑屏。它会保持这种状态,直到所有等待结束,然后显示最终图像。这是我的代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageCard[0] = (ImageView)findViewById(R.id.imageView11);
Thread.sleep(1000);
ImageCard[0].setImageDrawable(getResources().getDrawable(R.drawable.secondimage));
Thread.sleep(1000);
ImageCard[0].setImageDrawable(getResources().getDrawable(R.drawable.thirdimage));
ImageCard[0] 是我要更改的图像。它加载到 main.xml 中,如果我删除其余代码,它会正常显示。
如果我将 sleep 时间更改为 5000,则需要 10 秒才能最终从黑屏中消失并显示第三张图像。这就是我知道它不仅加载缓慢,而且实际上在等待的方式。
好像不是按顺序运行的。我不是 Java 专家,所以我假设我在做一些愚蠢的事情......
感谢您的帮助!
最佳答案
我认为您正在阻止 UI Thead。尝试 Handler.postDelayed在静态处理程序对象上。
关于java - 我怎样才能让 wait/sleep 以我想要的方式在 java 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827110/