如何通过 if/else 语句更改 onClick 函数?

我一直在尝试让一个图像在用户单击按钮时更改为另一个图像。我实现了这个目标,但我还需要它在再次单击按钮时切换回第一张图像。我一直无法这样做。我在下面发布了我的作品。


我本以为 if/else 语句就可以解决问题,但我的第二次单击没有执行任何操作。


public  class word1 extends AppCompatActivity {


Button btnClick;

ImageView image;

int pooter = 1;


@Override

protected void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_word1);


btnClick=(Button)findViewById(R.id.buttcard1);

image=(ImageView) findViewById(R.id.imageCard1);

btnClick.setOnClickListener(new View.OnClickListener() {

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

    @Override

    public void onClick(View v) {


        if(pooter % 2 == 0){

            pooter = +1;

            image.setImageDrawable(getDrawable(R.drawable.an));

        }else{

            pooter = +1;

            image.setImageDrawable(getDrawable(R.drawable.did));

        }

    }

});

}

}


FFIVE
浏览 92回答 2
2回答

HUH函数

在您的活动中声明一个名为的字段mIsFirstTime并将其初始值设置为true,如下所示。private boolean mIsFirstTime=true;然后在Button onClick中使用它,如下所示    btnClick.setOnClickListener(new View.OnClickListener() {        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)        @Override        public void onClick(View v) {          if(mIsFirstTime){                image.setImageDrawable(getDrawable(R.drawable.an));                mIsFirstTime=false;            }else{                image.setImageDrawable(getDrawable(R.drawable.did));                mIsFirsTime=true;            }    }  }当然,正如其他人所说,如果你替换 poster=+1;为poster+=1;或,你的问题就会解决poster++;但是使用布尔条件比使用偶数条件更好、更简单。

jeck猫

  if(pooter % 2 == 0){        pooter += 1;        image.setImageDrawable(getDrawable(R.drawable.an));    }else{        pooter += 1;        image.setImageDrawable(getDrawable(R.drawable.did));    }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java