Partage
  • Partager sur Facebook
  • Partager sur Twitter

Temporiser un bouton sur android studio

Temporiser un bouton pendant 5 secondes sur android studio

Sujet résolu
    9 juin 2021 à 11:06:03

    Bonjour,

    Je viens à vous et à votre aide précieuse afin de m'aider et m'éclairer sur un problème.

    Je suis débutant en java (à peine 3 semaines que je commence à coder depuis mon entrée en stage dans une entreprise).

    Je code sur Android studio un application pour des commerciaux ou ils pourront appuyer sur des boutons pour commencer une journée, les pitch rater et réussi et autre, je vous épargne les détails.

    Mon problème est que j'aimerais pouvoir temporiser un bouton (Refus) pendant 5 secondes pour éviter les spams sur celui-ci car il ne redirige vers aucune activité, et ça fait 4 jours que je cherche un solution à mon problème mais en vain même après plusieurs recherche sur internet.

    Voici mon code :

    public class Commencer_Journee extends AppCompatActivity {

    public static final String Pattern = "yy-MM-dd HH:mm:ss";
    public Button Refus;
    private Context c;
    private RequeteSQL requeteSQL;
    private static Context mContext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_commencer__journee);
    getSupportActionBar().hide();

    Refus = (Button) findViewById(R.id.BtRefus);

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat(Pattern);

    requeteSQL = new RequeteSQL();

    Refus.setOnClickListener(new View.OnClickListener() {
    @RequiresApi(api = Build.VERSION_CODES.O)
    @Override
    public void onClick(View v) {
    String arguments = "type_requete=Updatebase&valeurs=(\""+vdr.getId_vdr().toString()+"\",NOW(),\""
    +"REFUS\",NULL,NULL,NULL,NULL)";
    String ts = String.valueOf(now());
    Log.d("*************************",ts);
    requeteSQL.AjoutAction(arguments,Commencer_Journee.this, "REFUS","NULL","NULL",
    ts,"NULL","NULL" );
    }

    });

    Aux personnes qui voudrons bien m'aider à résoudre ce problème je vous en serai reconnaissant !

    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2021 à 16:18:44

      Bon j'ai réussi à trouver une alternative au problème et qui marche, je le partage donc à ceux qui en auront peut-être besoin.

      Refus.setOnClickListener(new View.OnClickListener() {
      @RequiresApi(api = Build.VERSION_CODES.O)
      @Override
      public void onClick(View v) {

      //Désactiver le bouton pour le temporiser
      new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {
      Refus.setEnabled(false);
      }
      }, 0);

      //Requête

      String arguments = "type_requete=Updatebase&valeurs=(\""+vdr.getId_vdr().toString()+"\",NOW(),\""
      +"REFUS\",NULL,NULL,NULL,NULL)";
      DateFormat.getDateTimeInstance().format(date);
      String ts = String.valueOf(date);
      Log.d("*************************",ts);
      requeteSQL.AjoutAction(arguments,Commencer_Journee.this, "REFUS","NULL","NULL",
      ts,"NULL","NULL" );

      //Réactiver le bouton après 5 secondes
      new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {
      Refus.setEnabled(true);
      }
      }, 5000);

      }

      });
      • Partager sur Facebook
      • Partager sur Twitter

      Temporiser un bouton sur android studio

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown