为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

FFIVE 2024-01-28 16:47:01
我一直在尝试让一个图像在用户单击按钮时更改为另一个图像。我实现了这个目标,但我还需要它在再次单击按钮时切换回第一张图像。我一直无法这样做。我在下面发布了我的作品。我本以为 if/else 语句就可以解决问题,但我的第二次单击没有执行任何操作。public  class word1 extends AppCompatActivity {Button btnClick;ImageView image;int pooter = 1;@Overrideprotected 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));        }    }});}}
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

在您的活动中声明一个名为的字段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++;


但是使用布尔条件比使用偶数条件更好、更简单。


查看完整回答
反对 回复 2024-01-28
?
jeck猫

TA贡献1909条经验 获得超7个赞

  if(pooter % 2 == 0){

        pooter += 1;

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

    }else{

        pooter += 1;

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

    }


查看完整回答
反对 回复 2024-01-28
  • 2 回答
  • 0 关注
  • 39 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信