Wait a time - Android
23,003
Depends what thread your trying to sleep. You can also put your method in a seperate thread and do your methods there. This way your app will not hang/sleep
private class TimeoutOperation extends AsyncTask<String, Void, Void>{
@Override
protected Void doInBackground(String... params) {
try {
Log.i(TAG, "Going to sleep");
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
Log.i(TAG, "This is executed after 10 seconds and runs on the main thread");
//Update your layout here
super.onPostExecute(result);
}
}
To run this operation use
new TimeoutOperation().execute("");
Author by
Douglas Fornaro
Updated on May 24, 2020Comments
-
Douglas Fornaro almost 4 years
I want that my program wait 10s in my while true, but it doesn't work I tried to use
Thread.sleep(10000);
but it isn't 10swhile (true) { for (int i = 0; i < 2; i++) { for (int j = 0; j < 5; j++) { if (matrixVacancy[i][j] == 1) { completeParking(i, j, R.color.vaga_ocupada); } else { completeParking(i, j, R.color.cor_chao); } } } try { Thread.sleep(10000); } catch (InterruptedException ex) { } int a, b, c, d, e, f, g, h, i; a = (int) (Math.random() * 2); // indice i b = (int) (Math.random() * 5); // indice j c = (int) (Math.random() * 2); // tem ou nao carro d = (int) (Math.random() * 2); // indice i e = (int) (Math.random() * 5); // indice j f = (int) (Math.random() * 2); // tem ou nao carro g = (int) (Math.random() * 2); // indice i h = (int) (Math.random() * 5); // indice j i = (int) (Math.random() * 2); // tem ou nao carro matrixVacancy[a][b] = c; matrixVacancy[d][e] = f; matrixVacancy[g][h] = i; }
How can I do it? For my while wait 10s?