2017-09-09 5 views
0

Je fais un jeu BINGO dans Android, où il y a 25 boutons comme indiqué dans la photo. here is the layout Maintenant, chaque fois que je vais cliquer sur un bouton, un nombre de 1 à 25 doit apparaître sur le bouton cliqué. Le problème se pose quand je veux écrire une seule fonction, que devrais-je passer en tant qu'objet afin que 'le bouton sur lequel j'ai cliqué -> son objet devrait être invoqué -> et seulement que le texte des boutons devrait être défini comme un nombre. C'est le fichier MainActivity.java.afficher des numéros dans BINGO jeu sur le bouton cliquez sur Android

public class MainActivity extends AppCompatActivity { 

    //made 25 objects for 25 buttons 
    public static int cnt=0; 

    //button array 
    Button butt[]={b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25}; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
     } 

     public void show(View view) 
       { 
        cnt++; 
        if(cnt<26) 
        { 
        b1.setText(cnt); //what should i write here for different 
             //button objects, so that text for each button 
             //is set on clicking, without defining 25 
             //different functions 
         } 
        } 
     } 

À chaque clic de bouton, le contrôle arrive à show().

La sortie après avoir cliqué sur tous les boutons, devrait avoir 1 nombre, de 1 à 25 dans chaque boîte. S'il vous plaît aider!

Répondre

0

Vous pouvez définir un bouton foreach OnClickListener dans le tableau:

public void show(View view) 
        { 
         cnt++; 
         if(cnt<26) 
         { 

          for(int i = 0; i<butt.length; i++){ 

           final Button b = butt[i]; 

           b.setOnClickListener(new View.OnClickListener() { 

            @Override 
            public void onClick(View v) { 

             b.setText("Some number"); 
            } 
           }); 
          } 
         } 
        } 
+0

Hey merci! Ça a marché!! – Shivani

+0

C'est mon plaisir –