你正在尝试修改UI在主UI线程中的延迟。这不会按预期工作。您可以使用AsyncTask
来更新视图并在最后隐藏它。
private class Sample extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
//Do in background, NO UI HERE
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(1000);
this.publishProgress(); //Call onProgressUpdate
} catch (InterruptedException e) {
Thread.interrupted();
}
}
return "Finished!";
}
@Override
protected void onPostExecute(String result) {
//After it's completed, touch UI here
}
@Override
protected void onPreExecute() {
//Before it starts, touch UI here
}
@Override
protected void onProgressUpdate(Void... values) {
//Update text here, touch UI here
}
}
请勿将图像形式的代码发布。始终将其复制到问题本身中。如果您担心保持代码格式化,请参阅StackOverflow的Markdown规则[此处](https://stackoverflow.com/help/formatting)。 – computerfreaker