Switch 语句不改变值 android
Switch statement doesn't change value android
我有一个 imageview 和一个按钮,onclick 我想设置不同类型的显示(全屏、方形和其他垂直格式),我有一个 switch 语句但它不起作用我不知道我哪里做错了,请帮助我,也许这是一个简单的问题,但仍然无法在 google、
中找到解决方案
private int format;
private void changeFormat(){
switch (format) {
case 0:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
case 1:
format = 1;
System.out.println("format is " + format);
formatSquare();
break;
case 2:
format = 2;
System.out.println("format is " + format);
formatVertical();
break;
default:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
}
}
button.setOnClickListener(new View.SetOnClickListener(){
@Override
public void onClick(View v) {
changeFormat();
// in logcat it prints the format = 0 ; and it doesn't change everytime i click.
}
format
开始设置为 0... 然后此代码运行:
case 0:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
和 format
保持在 0。
在每个 case
语句中,尝试将 format
设置为下一个值..
这里有一个快速解决方案:
private int format = 0;
private void setFormat(int value){
format = value;
}
private void doOperation(){
switch(format){
case 0: formatFullScreen(); break;
case 1: formatSquare(); break;
case 2: formatVertical(); break;
default: formatFullScreen(); break;
}
}
button.setOnClickListener(new View.SetOnClickListener(){
@Override
public void onClick(View v) {
incrementFormat();
doOperation();
}
}
private void incrementFormat(){
format++;
if(format > 2){
format = 0;
}
}
希望对您有所帮助
我有一个 imageview 和一个按钮,onclick 我想设置不同类型的显示(全屏、方形和其他垂直格式),我有一个 switch 语句但它不起作用我不知道我哪里做错了,请帮助我,也许这是一个简单的问题,但仍然无法在 google、
中找到解决方案 private int format;
private void changeFormat(){
switch (format) {
case 0:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
case 1:
format = 1;
System.out.println("format is " + format);
formatSquare();
break;
case 2:
format = 2;
System.out.println("format is " + format);
formatVertical();
break;
default:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
}
}
button.setOnClickListener(new View.SetOnClickListener(){
@Override
public void onClick(View v) {
changeFormat();
// in logcat it prints the format = 0 ; and it doesn't change everytime i click.
}
format
开始设置为 0... 然后此代码运行:
case 0:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
和 format
保持在 0。
在每个 case
语句中,尝试将 format
设置为下一个值..
这里有一个快速解决方案:
private int format = 0;
private void setFormat(int value){
format = value;
}
private void doOperation(){
switch(format){
case 0: formatFullScreen(); break;
case 1: formatSquare(); break;
case 2: formatVertical(); break;
default: formatFullScreen(); break;
}
}
button.setOnClickListener(new View.SetOnClickListener(){
@Override
public void onClick(View v) {
incrementFormat();
doOperation();
}
}
private void incrementFormat(){
format++;
if(format > 2){
format = 0;
}
}
希望对您有所帮助