我有一个imageview和一个按钮,onclick我想设置不同类型的显示器(全屏,方形和其他垂直格式),我有一个开关语句但它不起作用我不知道在哪里我做错了,请帮助我,也许这是一个简单的问题,但仍然无法在谷歌找到解决方案,
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.
}
答案 0 :(得分:1)
这是一个快速解决方案:
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;
}
}
希望这有助于你
答案 1 :(得分:0)
format
开始设置为0 ...然后此代码运行:
case 0:
format = 0;
System.out.println("format is " + format);
formatFullScreen();
break;
和format
保持为0。
在每个case
语句中,尝试将format
设置为下一个值..