[英]How to change ImageButton image onclick. My code is not working
我无法弄清楚为什么我的代码无效。 我已经声明了一个ImageButton,当用户点击图像时,我就是增加了valHomeFouls
。 当valHomeFouls > 5
它将重置为0。
出于某种原因,它不会改变onClick上的图像。
// set the onClick listener for the foulsHome ImageButton
btnFoulsHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
valFoulsHome++;
if( valFoulsHome > 5 )
valFoulsHome = 0;
switch( valFoulsHome ) {
case 5:
btnFoulsHome.setImageResource(R.drawable.fouls5);
case 4:
btnFoulsHome.setImageResource(R.drawable.fouls4);
case 3:
btnFoulsHome.setImageResource(R.drawable.fouls3);
case 2:
btnFoulsHome.setImageResource(R.drawable.fouls2);
case 1:
btnFoulsHome.setImageResource(R.drawable.fouls1);
case 0:
btnFoulsHome.setImageResource(R.drawable.fouls0);
}
}
});
谁能明白为什么?
你忘记了break
声明:
switch( valFoulsHome ) {
case 5:
btnFoulsHome.setImageResource(R.drawable.fouls5);
break;
case 4:
btnFoulsHome.setImageResource(R.drawable.fouls4);
break;
case 3:
btnFoulsHome.setImageResource(R.drawable.fouls3);
break;
case 2:
btnFoulsHome.setImageResource(R.drawable.fouls2);
break;
case 1:
btnFoulsHome.setImageResource(R.drawable.fouls1);
break;
case 0:
default: // You should always have a default case
btnFoulsHome.setImageResource(R.drawable.fouls0);
}
没有break
陈述,案件“落空”。 这意味着如果valFoulsHome == 2
,代码会调用以下每一行:
btnFoulsHome.setImageResource(R.drawable.fouls2);
btnFoulsHome.setImageResource(R.drawable.fouls1);
btnFoulsHome.setImageResource(R.drawable.fouls0);
这不是你想要的......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.