gpt4 book ai didi

java - 同一方法重复多次

转载 作者:行者123 更新时间:2023-12-02 02:55:11 24 4
gpt4 key购买 nike

我开始使用Android Studio,并且正在做一个基本项目。在这个项目中,我使用 setOnClickListener 方法控制 9 个按钮。我必须重复这个方法9次,有其他方法可以控制它们吗?

编辑:这是我到目前为止所做的:

 b1.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
if (b1.getText().toString().equals(""))
if (turno == 1) {
turno = 2;
b1.setText("X");
} else if (turno == 2) {
turno = 1;
b1.setText("O");
}
n_turni++;
vincitore();
b1.setEnabled(false);

}
});

b2.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
if (b2.getText().toString().equals(""))
if (turno == 1) {
turno = 2;
b2.setText("X");
} else if (turno == 2) {
turno = 1;
b2.setText("O");
}
n_turni++;
vincitore();
b2.setEnabled(false);
}


});

b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (b3.getText().toString().equals(""))
if (turno == 1) {
turno = 2;
b3.setText("X");
} else if (turno == 2) {
turno = 1;
b3.setText("O");
}
n_turni++;
vincitore();
b3.setEnabled(false);
}


});

最佳答案

click 方法已经为您提供了一个 View 参数,它是已单击的 View (在您的情况下是按钮)。

所以我建议,您只需创建一次 OnClickListener 并对其进行多次分配:这里的关键是将 v 转换为 Button。因此它适用于您的所有按钮。

View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
Button b = (Button)v;
if (b.getText().toString().equals(""))
if (turno == 1) {
turno = 2;
b.setText("X");
} else if (turno == 2) {
turno = 1;
b.setText("O");
}
n_turni++;
vincitore();
b.setEnabled(false);
}
});

b1.setOnClickListener(listener);
b2.setOnClickListener(listener);
b3.setOnClickListener(listener);
b4.setOnClickListener(listener);
b5.setOnClickListener(listener);
b6.setOnClickListener(listener);
b7.setOnClickListener(listener);
b8.setOnClickListener(listener);
b9.setOnClickListener(listener);

关于java - 同一方法重复多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200205/

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