【问题标题】:displaying numbers in BINGO game on button click in Android在 Android 中单击按钮时在 BINGO 游戏中显示数字
【发布时间】:2017-09-09 13:22:46
【问题描述】:

我正在用 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 在每个框中。 请帮忙!

【问题讨论】:

    标签: java android logic settext


    【解决方案1】:

    您可以在数组中设置一个 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");
                                         }
                                     });
                                }
                            }
                        }
    

    【讨论】:

    • 这是我的荣幸
    猜你喜欢
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    相关资源
    最近更新 更多