每当我按下按钮时,它应该更改文本,并且还会更改布尔值,但这不起作用。有帮助吗? Thnks
在onCreate之前:
public boolean status = false;
按钮点击:
case R.id.saveButton:
if (status != true) {
currentStatus.setText("Current status: In need of help!");
status = true;
}
if (status != false) {
currentStatus.setText("Current status: Fine.");
status = false;
}
break;
答案 0 :(得分:3)
if(status){
currentStatus.setText("Current status: Fine.");
status = false;
}else {
currentStatus.setText("Current status: In need of help!");
status = true
}
或使用三元运算符:
currentStatus.setText(status ? "Current status: Fine." : "Current status: In need of help!");
status = !status;//toggle boolean value
答案 1 :(得分:1)
如果条件工作布尔状态所以当检查条件是否使用布尔变量时不需要使用==或!=运算符简单把布尔变量放在小括号中:
if(status){
// this code executed when status is value is - true
}else{
// this code executed when status is value is - false
}
答案 2 :(得分:0)
试试这个: 实际上,您在代码中两次更改了状态。
case R.id.saveButton:
if(status == false){
currentStatus.setText("Current status: In need of help!");
status = true;
}
else if(status == true){
currentStatus.setText("Current status: Fine.");
status = false;
}
break;
答案 3 :(得分:0)
修改后的代码:您必须在代码中的第一个else
语句后使用if
。
boolean status = false;
System.out.println("status : "+status); // False
if(status != true){
status = true;
}else if(status != false){ // add else here to resolve issue
status = false;
}
System.out.println("status : "+status); // True
答案 4 :(得分:0)
我认为您没有在按钮上调用setOnClickListener。
实施 View.OnClickListener 界面
Button saveButton = (Button)findViewById(R.id.saveButton);
saveButton.setOnClickListener(this);
并在
@Override
public void onClick(View v) {
if(status){
currentStatus.setText("Current status: Fine.");
status = false;
}else {
currentStatus.setText("Current status: In need of help!");
status = true
}
}