I want to wait 5 seconds before starting another public void method. The thread sleep was not working for me. If there is a way of wait()
without using Threads I wo
just add one-liner with lambda
(new Handler()).postDelayed(this::yourMethod, 5000);
edit for clarification: yourMethod
refers to the method which you want to execute after 5000 milliseconds.
you can use java handlers to achieve your task:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Actions to do after 5 seconds
}
}, 5000);
for more information read the following url:
https://developer.android.com/reference/android/os/Handler.html
what I prefer is
(new Handler()).postDelayed(this::here is your method,2000);
See if this works for you. Be sure to import the android.os.Handler
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// yourMethod();
}
}, 5000); //5 seconds
For import use : import android.os.Handler;
new Handler().postDelayed(new Runnable() {
public void run() {
// yourMethod();
}
}, 5000); //5 seconds
I use the following code (the same as you see before) for my android app, i need to wait some threads before start my new method. It works fine.
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// yourMethod();
}
}, 5000); //5 seconds