Java:卡在if语句块

时间:2018-03-27 18:43:11

标签: java android if-statement

我开始创建Android应用程序,我已经有了一些C#和Java的基本经验。现在我遇到了一个奇怪的问题,见下文:

public void pictureSwitch (View view){
    ImageView imageView = (ImageView) findViewById(R.id.imgVCat);
    boolean switched = false;

    if (switched){
        imageView.setImageResource(R.drawable.catstart);
        Log.i("Status-Start", "Wert: " +  switched);
        switched = false;
    } else {
        imageView.setImageResource(R.drawable.catswitch);
        Log.i("Status-switched", "Wert: " +  switched);
       switched = true;
    }

    }

}

问题是,在第一次点击Button时,它会变为catswitch drawable。但它永远不会切换回来,我不知道为什么。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

让我们将boolean作为实例变量。

  private  boolean switched = false;
public void pictureSwitch() {
    ImageView imageView = (ImageView) findViewById(R.id.imgVCat);
    if (switched) {
        imageView.setImageResource(R.drawable.catstart);
    } else {
        imageView.setImageResource(R.drawable.catswitch);
    }
    switched = !switched;
}

如果您不使用参数,则不需要参数View view