Voglio che una nuova attività inizi con qualche ritardo sulla pressione di un pulsante. E 'possibile farlo, e che cosa è la procedura.Come avviare un'attività diversa con un certo ritardo dopo aver premuto un pulsante in Android?
risposta
È possibile chiamare un Runnable utilizzando il metodo postDelayed() del gestore.
Ecco un esempio (http://developer.android.com/resources/articles/timed-ui-updates.html):
private Handler mHandler = new Handler();
...
OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
mHandler.postDelayed(mUpdateTimeTask, 100);
}
};
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
// do what you need to do here after the delay
}
};
Props per @mad per ottenere nel modo giusto la prima volta intorno .
È possibile utilizzare il metodo postDelayed(Runnable action, long delayMillis)
di un View
per aggiungere un Runnable
alla coda di messaggi da eseguire dopo un ritardo (approssimativo).
Ciò consentirà il comportamento desiderato senza bloccare il thread dell'interfaccia utente. –
Utilizzare una chiamata PostDelayed() con una eseguibile che avvia l'attività. Un codice di esempio potrebbe essere
//will care for all posts
Handler mHandler = new Handler();
//the button's onclick method
onClick(...)
{
mHandler.postDelayed(mLaunchTask,MYDELAYTIME);
}
//will launch the activity
private Runnable mLaunchTask = new Runnable() {
public void run() {
Intent i = new Intent(getApplicationContext(),MYACTIVITY.CLASS);
startActivity(i);
}
};
Si noti che questo consente l'interfaccia rimane reattiva. Dovresti quindi preoccuparti di rimuovere l'ascoltatore onclick dal tuo pulsante.
utilizzare questo codice
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Intent mainIntent = new Intent(CurrentActivity.this, SecondActivity.class);
LaunchActivity.this.startActivity(mainIntent);
LaunchActivity.this.finish();
}
}, 4000);
A volte, u bisogno di farlo ogni volta che il processo di applicazione viene ucciso o meno. In tal caso non è possibile utilizzare la gestione eseguibile o i messaggi all'interno del processo. In questo caso puoi usare AlarmManager per questo. Spero che questo esempio aiuta nessuno:
Intent intent = new Intent();
...
PendingIntent pendingIntent = PendingIntent.getActivity(<your context>, 0, intent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, <your delay>, pendingIntent);
runOnUiThread(new Runnable() {
@Override
public void run() {
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}, 4000);
}
});
provare questo pezzo di codice
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// run AsyncTask here.
}
}, 3000);
- 1. ANDROID: come inserire un ritardo dopo aver premuto un pulsante?
- 2. Come aggiornare Gridview dopo aver premuto un pulsante in asp.net
- 3. Dialogo PyQt - Come farlo uscire dopo aver premuto un pulsante?
- 4. Jenkins: costruisci un lavoro dopo l'altro con un certo ritardo
- 5. Dopo aver premuto un tasto, guarda giù, solo in S3
- 6. Come avviare un'attività dopo un certo periodo di tempo?
- 7. Come cancellare il widget Entry dopo aver premuto un pulsante in Tkinter?
- 8. Android esegue la funzione dopo aver premuto "Invio" per EditText
- 9. Android: "Aggiornamento automatico" dopo un certo tempo
- 10. Come posso tenere premuto un tasto dopo aver cliccato su di esso?
- 11. Come evidenziare un pulsante quando viene premuto?
- 12. HTML5: come inviare un modulo, dopo aver premuto ENTER in uno degli input di testo?
- 13. Come personalizzare l'intervallo di tempo del pulsante lungo/ritardo premuto in android
- 14. Elimina sms android dopo aver ricevuto Senza ritardo
- 15. Come si conserva trattino dopo aver premuto Esc in Vim
- 16. Come aggiungere un pulsante alla mia destra di NavigationController dopo aver premuto un altro controller di visualizzazione?
- 17. Java/android come avviare un AsyncTask dopo 3 secondi di ritardo?
- 18. JavaScript interrompe l'esecuzione in iframe dopo aver premuto il pulsante Indietro in mobile safari
- 19. Forma diversa AZIONE a seconda del pulsante premuto
- 20. Come è possibile animare la visualizzazione di UIPickerView dopo aver premuto il pulsante
- 21. Passa all'URL dopo aver premuto il pulsante OK in stato di avviso
- 22. Android per rilevare quando si tiene premuto un pulsante
- 23. Come avviare il thread se il pulsante è premuto e interromperlo se viene premuto di nuovo?
- 24. come eseguire un thread dopo aver completato un altro thread
- 25. Pulsante premuto a lungo
- 26. azione di ripetizione Android premendo e tenendo premuto un pulsante
- 27. cx_freeze convertita GUI-app (tkinter) si blocca dopo aver premuto il pulsante di trama
- 28. Come nascondere un div dopo un certo periodo di tempo?
- 29. estratto stringa dopo un certo modello
- 30. Rinominare un pulsante dopo aver cliccato - Java JButton
dispiace se mi chiedo perché si sentiva avevi bisogno il ritardo? Ho notato questo scritto in un vecchio progetto per lavoro, non sono sicuro del motivo per cui hanno scelto di farlo. – AdamMc331