我正在创建一个应用程序,当我单击按钮将文本字段中的值增加1时,它会崩溃。我很累,也许我没有正确看待这个问题。这是一个按钮点击事件。
我把一切都放在一个永远不会结束的循环中。然后,if会将int中的值增加1,然后将其存储到一个字符串中,该字符串会将值设置为文本框。我也将包括一个减少按钮的反向。
int SetUP = Integer.parseInt(findTxtComp().getText());
String SetUp;
SetUp = String.valueOf(SetUP);
int ChstSetLoop;
ChstSetLoop = 1;
while(ChstSetLoop == 1){
if(SetUp.equals("0")){
SetUP = 1;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
if(SetUp.equals("1")){
SetUP = 2;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
if(SetUp.equals("2")){
SetUP = 3;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
if(SetUp.equals("3")){
SetUP = 4;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
if(SetUp.equals("4")){
SetUP = 5;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
SetUP = 0;
}
else{
}
}
您需要将最后4条if
语句更改为else if
,否则SetUp
在EACH循环结束时将始终作为0
结束。
int SetUP = Integer.parseInt(findTxtComp().getText());
String SetUp;
SetUp = String.valueOf(SetUP);
int ChstSetLoop;
ChstSetLoop = 1;
while(ChstSetLoop == 1){
if(SetUp.equals("0")){
SetUP = 1;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
else if(SetUp.equals("1")){
SetUP = 2;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
else if(SetUp.equals("2")){
SetUP = 3;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
else if(SetUp.equals("3")){
SetUP = 4;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
}
else if(SetUp.equals("4")){
SetUP = 5;
SetUp = String.valueOf(SetUP);
findTxtComp().setText(SetUp);
SetUP = 0;
}
else{
}
}
此外,SetUp
同时被分配字符串和数字。。。那可不好!!
您使用了错误的if else
语句:
if condition 1 {
statements to execute if condition 1 is true
} else if condition 2 {
statements to execute if condition 2 is true
} else {
statements to execute if both conditions are false
}
希望这能有所帮助。