我正在制作一款测量声音dB级别的应用。 为了支持该值,将显示声级与其相当的情况的图像。 (例如:显示大约100dB声音的高速公路图像)。
为了改变图像,我写了一些改变图像视图来源的if语句。
int pic=1;
// Imageview changer //
ImageView IconView = (ImageView) findViewById(R.id.imageView1);
TextView Sound = (TextView) findViewById(R.id.dBTextView);
int Soundlvl = Integer.valueOf(Sound.getText().toString());
if( Soundlvl < 40)
{
if(pic != 1){
IconView.setImageResource(R.drawable.recycle49);
Log.i("LevelMeterActivity","****Switch image 1****");
pic=1;
}
}
else if ( Soundlvl < 60)
{
if(pic != 2){
IconView.setImageResource(R.drawable.two220);
Log.i("LevelMeterActivity","****Switch image 2****");
pic=2;
}
}
else if ( Soundlvl < 80)
{
if(pic !=3){
IconView.setImageResource(R.drawable.television4);
Log.i("LevelMeterActivity","****Switch image 3****");
pic=3;
}
}
else if ( Soundlvl < 100)
{
if(pic !=4){
IconView.setImageResource(R.drawable.highway2);
Log.i("LevelMeterActivity","****Switch image 4****");
pic=4;
}
}
else if ( Soundlvl < 120)
{
if(pic !=5){
IconView.setImageResource(R.drawable.construction);
Log.i("LevelMeterActivity","****Switch image 5****");
pic=5;
}
}
else if ( Soundlvl < 1000)
{
if(pic !=6){
IconView.setImageResource(R.drawable.impaired);
pic=6;
Log.i("LevelMeterActivity","****Switch image 6****");
}
}
代码在1次循环后停止工作。我检查它没有if语句,然后它工作正常所以问题应该在这里。我使用正确的方法来设置图像吗?图像变化很快,可能导致它停止..