我需要根据值显示和图像。但是我的代码只显示最后一行。
示例值为2,因此要显示的图像必须为" srm2",但我的代码显示与值6对应的图像。
为什么???
totsrmI=((int) Math.round(totsrmI));
if (totsrmI==2) {
colorpint.setImageResource(R.drawable.srm2);
}
if (totsrmI==3) {
colorpint.setImageResource(R.drawable.srm3);
}
if (totsrmI==4) {
colorpint.setImageResource(R.drawable.srm4);
}
if (totsrmI==5) {
colorpint.setImageResource(R.drawable.srm4);
}
if (totsrmI==6) {
colorpint.setImageResource(R.drawable.srm6);
}
答案 0 :(得分:1)
if (totsrmI==2) {
colorpint.setImageResource(R.drawable.srm2);
} else if (totsrmI==3) {
colorpint.setImageResource(R.drawable.srm3);
} else if (totsrmI==4) {
colorpint.setImageResource(R.drawable.srm4);
} else if (totsrmI==5) {
colorpint.setImageResource(R.drawable.srm4);
} else if (totsrmI==6) {
colorpint.setImageResource(R.drawable.srm6);
}
答案 1 :(得分:1)
如果你有if else语句,那么使用switch case更方便,因为switch比if-else更快。
switch(totsrmI)
{
case 2:
colorpint.setImageResource(R.drawable.srm2);
break;
case 3:
colorpint.setImageResource(R.drawable.srm3);
break;
case 4:
colorpint.setImageResource(R.drawable.srm4);
break;
case 5:
colorpint.setImageResource(R.drawable.srm5);
break;
case 6:
colorpint.setImageResource(R.drawable.srm6);
break;
default:
break;
}
答案 2 :(得分:0)
我的错误不是代码,而是编写代码的地方。 我的变量在一个方法上,我在这个方法之外编写了if语句
我纠正了,现在在方法
中 totsrmI=((int) Math.round(totsrmI));
if (totsrmI==2) {
colorpint.setImageResource(R.drawable.srm2);
}
else if (totsrmI==3) {
colorpint.setImageResource(R.drawable.srm3);
}
else if (totsrmI==4) {
colorpint.setImageResource(R.drawable.srm4);
}
else if (totsrmI==5) {
colorpint.setImageResource(R.drawable.srm4);
}
else if (totsrmI==6) {
colorpint.setImageResource(R.drawable.srm6);
}
else if (totsrmI==7) {
colorpint.setImageResource(R.drawable.srm6);
}