gpt4 book ai didi

java - onClick 方法不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 11:28:46 25 4
gpt4 key购买 nike

protected void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
gl = (GridLayout) findViewById(R.id.grid);
array = new Button[7][6];
Button btn;
for(int i=0; i<7; i++)
{
for(int j=0; j<6; j++)
{
btn = new Button(this);
btn.setId(7*i + j + 1);
array[i][j] = btn;
gl.addView(btn);
}
}
turn = 0;
Toast.makeText(this, "Test", Toast.LENGTH_SHORT).show();

}

@Override
public void onClick(View v)
{
Toast.makeText(this, "Test1", Toast.LENGTH_SHORT).show();
if(v instanceof Button)
{
Toast.makeText(this, "Test2", Toast.LENGTH_SHORT).show();
int[] d = GetCellByID(v.getId());
Button b = (Button)v;
b.setEnabled(false);
if(turn == 0)
{
b.setBackgroundColor(Color.YELLOW);
turn = 1;
}
else
{
b.setBackgroundColor(Color.RED);
turn = 0;
}
array[d[0]][d[1]] = b;
}
}

这是代码,Toast 用于测试代码是否正在运行。该 Activity 实现了 OnClickListener

onClick 方法不起作用,我使用它是因为我有 42 个按钮,我不能为每个按钮编写 42 个 setOnClickListener() 方法。

在我创建的代码中,在两个循环中,有 42 个按钮 (7*6),每次按下每个按钮时,它都会被禁用,并且将按钮的背景颜色一次更改为黄色,下次更改为红色,然后再更改一次。

最佳答案

您缺少在嵌套的 for 循环中调用以下内容:

btn.setOnClickListener(this);

这里的this指的是实现OnClickListenerActivity

关于java - onClick 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com