Ho bisogno del codice equivalente di setTimeOut(call function(),milliseconds);
per Android.Qual è l'equivalente di setTimeOut() javascript su Android?
setTimeOut(call function(),milliseconds);
Ho bisogno del codice equivalente di setTimeOut(call function(),milliseconds);
per Android.Qual è l'equivalente di setTimeOut() javascript su Android?
setTimeOut(call function(),milliseconds);
Probabilmente si desidera controllare TimerTask
Dal momento che ti ha portato questa volta vorrei fare una raccomandazione diversa, che è un Handler. È più semplice da utilizzare rispetto a TimerTask poiché non è necessario chiamare esplicitamente runOnUiThread poiché il gestore sarà associato al thread dell'interfaccia utente purché sia creato sul thread dell'interfaccia utente o lo crei utilizzando il looper principale nel costruttore. Sarebbe funziona così:
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);
}
ci sono alcune cose di essere a conoscenza con i gestori nella vostra attività:
Questo è il codice che ho utilizzato nel mio progetto corrente. Ho usato TimerTask come diceva Matt. 60000 è il milisec. = 60 sec. l'ho usato per aggiornare i punteggi delle partite.
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);
Non funziona. CHE COSA significa autoaggiornamento? e runOnUiThread. Minus – l0gg3r
Queste domande sono appena rilevanti, l0gg3r. Ha fornito un esempio di un'attività pianificata per essere eseguita dopo 60 secondi, sul thread dell'interfaccia utente. Qualsiasi sviluppatore Android dovrebbe comprendere facilmente il codice. –
Una cosa, però, @GiantRobot. Questo esempio si comporta più come setInterval di setTimeout. Le modifiche necessarie per utilizzare questo codice per setTimeout potrebbero essere: modificare l'ordine dei valori (60000, 0 anziché 0, 60000) e arrestare il timer nella funzione run(), in modo che venga eseguito solo una volta. –
C'è del metodo setTimeout() in underscore-java biblioteca.
Codice esempio:
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 funzione sarà avviato in 100 ms con un nuovo thread.
Come continuazione di Valentyn risposta utilizzando Java sottolineatura:
Aggiungi dipendenza 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
possibile duplicato di http://stackoverflow.com/q/4817933/776084 – RanRag