在 Android 中单击按钮时在 BINGO 游戏中显示数字
displaying numbers in BINGO game on button click in Android
我正在 android 中制作 BINGO 游戏,其中有 25 个按钮,如图所示。here is the layout 现在每当我单击一个按钮时,应该会出现从 1 到 25 到在点击的按钮上。当我想编写一个函数时,问题就出现了,我应该将什么作为对象传递,以便 'the button I clicked -> its object should be invoked -> and only that buttons text should be set as a number.' 这是 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。
请帮忙!
您可以为数组中的每个按钮设置一个 OnClickListener:
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");
}
});
}
}
}
我正在 android 中制作 BINGO 游戏,其中有 25 个按钮,如图所示。here is the layout 现在每当我单击一个按钮时,应该会出现从 1 到 25 到在点击的按钮上。当我想编写一个函数时,问题就出现了,我应该将什么作为对象传递,以便 'the button I clicked -> its object should be invoked -> and only that buttons text should be set as a number.' 这是 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。 请帮忙!
您可以为数组中的每个按钮设置一个 OnClickListener:
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");
}
});
}
}
}