在Android中点击按钮,在BINGO游戏中显示数字

时间:2017-09-09 13:22:47

标签: java android logic settext

我在android中制作一个BINGO游戏,其中有25个按钮,如图所示。here is the layout现在每当我点击一个按钮时,点击按钮上会出现1到25之间的数字。当我想写一个单独的函数时,问题出现了,我应该作为对象传递什么,以便我点击的按钮 - >应该调用它的对象 - >并且只有按钮文本应设置为数字。'这是MainActivity.java文件。

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
                        }
                    }
        }

每按一次按钮,控制就会显示在show()。

点击所有按钮后的输出应该有1个数字,每个框中1到25个。 请帮忙!

1 个答案:

答案 0 :(得分:0)

您可以在数组中设置OnClickListener foreach按钮:

 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");
                                     }
                                 });
                            }
                        }
                    }