Android开发 - If-Then-Else声明。切换图像

时间:2014-03-05 03:29:22

标签: android

所以我想在这里做的是为起始图像分配标签0.当我运行该方法时,我希望图像更改为gallows1并获得标记“1”。然后当它再次运行时,我希望它保持gallows1标记为1,然后将其更改为gallows2,并重新分配它......基本上,我希望1个图像更改为下一个,依此类推跑了6次。

这是我到目前为止所拥有的。

public void switchImage(View view) {
        ImageView img = (ImageView) findViewById(R.id.imageView1);
        img.setTag("0");
        if (img.getTag() == "0") {
            img.setImageResource(R.drawable.gallows1);
            img.setTag("1");
        } else if (img.getTag() == "1") {
            img.setImageResource(R.drawable.gallows2);
            img.setTag("2");
        } else if (img.getTag() == "2") {
            img.setImageResource(R.drawable.gallows3);
            img.setTag("3");
        } else if (img.getTag() == "3") {
            img.setImageResource(R.drawable.gallows4);
            img.setTag("4");
        } else if (img.getTag() == "4") {
            img.setImageResource(R.drawable.gallows5);
            img.setTag("5");;
        } else if (img.getTag() == "5") {
            img.setImageResource(R.drawable.gallows6);
            img.setTag("6");
        } else if (img.getTag() == "6") {
            return;
        }
    }

我正在制作的游戏是刽子手,但我没有使用图形,而是希望有一个扭曲(它适用于挑战项目)并且显示进度图像。

1 个答案:

答案 0 :(得分:1)

把它放在方法之外:

ImageView img = (ImageView) findViewById(R.id.imageView1);
img.setTag("0") 

并从方法

中删除img.setTag("0"

现在的方式,img.setTag("0")每次都被调用,所以它总是只会碰到第一个if块。如果你把它移到外面,那么第一次调用方法时,如果块1匹配,那么下一次,如果块2等,