Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction sans argument

Sujet résolu
    24 septembre 2017 à 22:53:50

    Je ne comprend pas comment utiliser les fonctions en java/android ;( 

    voila le code que j'ai mais avec beaucoup d'erreur ;'( 

            tenpile.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    calcul(10, 1); 
                }
            });
    
            tenface.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    calcul(10, 0);
                }
            });
    
            centpile.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    calcul(100, 1);
                }
            });
    
            centface.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    calcul(100, 0);
                }
            });
    
            public void calcul(int loop, int verif) {  //ici je ne comprend pas ;( faut'il declarer les variables au prealable ? 
                for (int i = 0; i < loop; i++) {
                    alea = new Random().nextInt(2);	//generation du nombre aleatoire jusqu'a 1
    
                    if (alea == verif) {
                        result.setText("Bravo !");
                        result.setTextColor(Color.parseColor("#FF669900"));
                        win++;
                        winT.setText(String.valueOf(win));
                    }
                    else {
                        result.setTextColor(Color.parseColor("#FFCC0000"));
                        result.setText("Dommage");
                        lose++;
                        loseT.setText(String.valueOf(lose));
                    }
                }
            }

    Merci de votre attention ;)

    • Partager sur Facebook
    • Partager sur Twitter
      25 septembre 2017 à 5:08:35

      Bonjour.

      Les instructions doivent obligatoirement se trouver dans une méthode. Déplace les lignes 1 à 27 dans le constructeur et ça devrait aller mieux.

      • Partager sur Facebook
      • Partager sur Twitter
        27 septembre 2017 à 22:38:35

        Salut, j'imagine que tu dois utiliser Android Studio, il se trouve que j'en ai aussi fait pas mal dans différents projets d'étude donc je devrais pouvoir t'aider.

        Les lignes 1 à 27 vont dans la fonction "onCreate" de ton activité, cependant avec ce nombre d'évènements, tu gagnerais à directement implémenter l'interface View.onClickListener et utiliser la fonction onClick en tant que fonction non anonyme.

        Un exemple :

        public class MainActivity extends AppCompatActivity implements View.OnClickListener {
        
        
            @Override
            protected void onCreate(Bundle savedInstanceState) {
        
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        		
        		final Button[] buttons = {
        			findViewById(R.id.bouton1),
        			findViewById(R.id.bouton2),
        			findViewById(R.id.bouton3)
        		}
        		
                for(final Button button : buttons) {
                    button.setOnClickListener(this);
                }
            }
        
            @Override
            public void onClick(View v) {
        
                switch (v.getId()) {
        
                    case R.id.bouton1:
                        calcul(10, 1);
                    case R.id.bouton2:
                        calcul(10, 0);
                    case R.id.bouton3:
                        calcul(100, 1);
                }
            }
        }

        Pour ta fonction calcul, c'est très... approximatif. Si j'ai bien compris, tes variables alea, result, win, winT, lose et loseT sont toutes globales ? Ce serait je pense trop long de t'expliquer à quel point c'est une mauvaise idée, je te recommanderai d'au moins lire le tutoriel du site.

        -
        Edité par Oxygen05 27 septembre 2017 à 22:41:41

        • Partager sur Facebook
        • Partager sur Twitter

        Fonction sans argument

        × 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