Necesito el código equivalente de setTimeOut(call function(),milliseconds);
para android.¿Cuál es el equivalente de setTimeOut() javascript to Android?
setTimeOut(call function(),milliseconds);
Necesito el código equivalente de setTimeOut(call function(),milliseconds);
para android.¿Cuál es el equivalente de setTimeOut() javascript to Android?
setTimeOut(call function(),milliseconds);
Es posible que desee echa un vistazo a TimerTask
Desde sacaste a este nuevo me gustaría hacer una recomendación diferente, que es una Handler. Es más fácil de usar que un TimerTask, ya que no será necesario que invoque explícitamente runOnUiThread ya que Handler se asociará con el subproceso UI siempre que se cree en el subproceso UI o lo cree utilizando el looper principal en su constructor. Sería funciona de esta manera:
private Handler mHandler;
Runnable myTask = new Runnable() {
@Override
public void run() {
//do work
mHandler.postDelayed(this, 1000);
}
}
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
mHandler = new Handler(Looper.getMainLooper());
}
//just as an example, we'll start the task when the activity is started
@Override
public void onStart() {
super.onStart();
mHandler.postDelayed(myTask, 1000);
}
//at some point in your program you will probably want the handler to stop (in onStop is a good place)
@Override
public void onStop() {
super.onStop();
mHandler.removeCallbacks(myTask);
}
hay algunas cosas a tener en cuenta con los controladores en su actividad:
Este es el código que utilicé en mi proyecto actual. Usé TimerTask como Matt dijo. 60000 es el milisec. = 60 seg. Lo usé para actualizar los puntajes de los partidos.
private void refreshTimer() {
autoUpdate = new Timer();
autoUpdate.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
adapter = Score.getScoreListAdapter(getApplicationContext());
adapter.forceReload();
setListAdapter(adapter);
}
});
}
}, 0, 60000);
No funciona. ¿QUÉ significa autoUpdate? y runOnUiThread. Menos – l0gg3r
Esas preguntas apenas son relevantes, l0gg3r. Dio un ejemplo de una tarea programada para ejecutarse después de 60 segundos, en el hilo de la interfaz de usuario. Cualquier desarrollador de Android debería entender fácilmente el código. –
Una cosa, sin embargo, @GiantRobot. Este ejemplo se comporta más como setInterval que setTimeout. Los cambios necesarios para usar este código para setTimeout serían: cambiar el orden de los valores (60000, 0 en vez de 0, 60000) y detener el temporizador en la función run(), de modo que solo se ejecute una vez. –
hay un método setTimeout() en underscore-java biblioteca.
ejemplo Código:
import com.github.underscore.lodash.$;
import com.github.underscore.Function;
public class Main {
public static void main(String[] args) {
final Integer[] counter = new Integer[] {0};
Function<Void> incr = new Function<Void>() { public Void apply() {
counter[0]++; return null; } };
$.setTimeout(incr, 100);
}
}
La función se iniciará en 100 ms con un nuevo hilo.
Como continuación a la respuesta Valentyn usando java subrayado:
Añadir a la dependencia Gradle:
dependencies {
compile group: 'com.github.javadev', name: 'underscore', version: '1.15'
}
Java:
import com.github.underscore.lodash.$;
$.setTimeout(new Function<Void>() {
public Void apply() {
// work
return null;
}
}, 1000); // 1 second
posible duplicado de http://stackoverflow.com/q/4817933/776084 – RanRag