gpt4 book ai didi

java - 改变按钮的颜色

转载 作者:行者123 更新时间:2023-11-29 05:13:06 25 4
gpt4 key购买 nike

我的应用程序有四个按钮。如果按特定顺序按下按钮,我试图将按钮的颜色更改为一种颜色,如果以不同的顺序按下按钮,则将它们更改为另一种颜色。现在我的代码是这样的:

public class MainActivity extends Activity {

int b1 = (int) (Math.random() * 10.0);
int b2 = (int) (Math.random() * 10.0);
int b3 = (int) (Math.random() * 10.0);
int b4 = (int) (Math.random() * 10.0);
int last = 0;
int[] nums = { b1, b2, b3, b4 };
int i = 0;
String res = "";
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
Button button4 = (Button) findViewById(R.id.button4);

private void checkOrder(int value) {
if (value == nums[i]) {
if (i == 3) {
//DO SOMETHING ELSE
} else {
if(value==b1){
button1.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
}else if(value==b2){
button2.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
}else if(value==b3){
button3.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
}else if(value==b4){
button4.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
}
i++;
}
} else {
//DO SOMETHING ELSE
}
}

现在我在创建按钮的地方收到 NullPointerException。我认为这是因为按钮不是在 onCreate 方法中创建的。但是,如果我确实将按钮放在 onCreate 方法中,则无法在 checkOrder 方法中访问它们。我将如何通过不同的方法改变它们的颜色?我知道过去曾问过类似的问题,但我还没有找到与我面临的问题相同的问题。

最佳答案

在类级别声明您的按钮并在 onCreate 方法中初始化它们

Class Demo extends Activity{

Button button1,button2,button3,button4;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
}
}

用完之后想用就用

关于java - 改变按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27596520/

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