ANDROID: Comment mettre un délai après la poussée d'un bouton?

J'ai un bouton et quand il est pressé, il joue un fichier audio. Je souhaite mettre un délai de 5 secondes sur le bouton afin que les utilisateurs ne fassent pas le bouton et jouent le son à plusieurs reprises. Je suppose que je le veux vraiment pour que le bouton soit désactivé pendant 5 secondes après qu'il soit poussé. Est-ce que quelqu'un sait comment faire ça?

  • Comment ajouter un bouton d'action flottante en haut de scrollview
  • Comment étendre un bouton Android et utiliser un fichier de mise en page xml
  • Ne peut pas abaisser les boutons de texte dans le studio Android
  • Comment l'application facebook implémente un bouton flottant
  • Comment gérer les clics de boutons à l'aide de XML onClick In Fragments
  • Comment changer l'image d'un bouton à chaque clic?
  • Android ExpandableListView Parent avec bouton
  • Deux textes dans le bouton, le titre et le sous-titre
  • 3 Solutions collect form web for “ANDROID: Comment mettre un délai après la poussée d'un bouton?”

    Dans votre OnClickListener pour le bouton:

     myButton.setEnabled(false); Timer buttonTimer = new Timer(); buttonTimer.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { myButton.setEnabled(true); } }); } }, 5000); 

    Cela désactivera le bouton lorsqu'il sera cliqué, et l'activera après 5 secondes.

    Si l'événement de clic est traité dans la classe qui étend la vue plutôt que dans une activité, faites la même chose, mais runOnUiThread avec post .

    Vous pouvez désactiver votre bouton, puis utiliser la méthode postDelayed sur votre bouton.

     myButton.setEnabled(false); myButton.postDelayed(new Runnable() { @Override public void run() { myButton.setEnabled(true); } }, 5000); 

    Ceci est similaire à la solution Timer, mais cela pourrait mieux gérer les changements de configuration (par exemple, si l'utilisateur tourne le téléphone)

    Voici.

     ((Button) findViewById(R.id.click)) .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((Button) findViewById(R.id.click)).setEnabled(false); new Handler().postDelayed(new Runnable() { @Override public void run() { ((Button) findViewById(R.id.click)) .setEnabled(true); } }, 5000); } }); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.