Android-在按钮上单击并重新单击后在两个图像之间更改ImageView

用户名

所以我有一个ImageView,它具有一定的图像资源image1,当我单击图像时,我将其更改为另一个图像资源image2,我想要的是能够将其更改回image1以此类推。我尝试的是以下内容,但它不起作用。

public void methodName(){
        final ImageView imageNo1 = (ImageView) findViewById(R.id.imageID);
        Drawable seatDrawable = imageNo1.getDrawable();
        imageNo1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(imageNo1.getDrawable()==getResources().getDrawable(R.drawable.image1)){
                    imageNo1.setImageResource(R.drawable.image2);
                } else {
                    imageNo1.setImageResource(R.drawable.image1);
                }
            }
        });
    }

我还尝试将布尔值设置currentState为false并在单击后在if语句中对其进行更改,但这也不起作用。那么我该如何工作呢?

这是我的习惯 currentState

public void methodName(){
        private boolean currentState = false;
        final ImageView imageNo1= (ImageView) findViewById(R.id.imageID);
        imageNo1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(currentState = false){
                    imageNo1.setImageResource(R.drawable.image2);
                    currentState = true;
                } else if(currentState = true) {
                    imageNo1.setImageResource(R.drawable.image1);
                }
            }
        });
    }

解决方案:感谢dhaval为该解决方案提供setTag和getTag

达瓦尔

我尝试过这种方式,它工作正常:

public void methodName(){
    imgView = (ImageView) findViewById(R.id.imgView);
    imgView.setTag(1);
    imgView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if(imgView.getTag() == 1){
                imgView.setImageResource(R.drawable.abc_btn_rating_star_off_mtrl_alpha);
                imgView.setTag(2);
            }else{
                imgView.setImageResource(R.drawable.abc_btn_rating_star_on_mtrl_alpha);
                imgView.setTag(1);
            }
        }
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

模拟器未在按钮上显示图像单击android

在按钮上播放声音单击android

Android Media Player无法在按钮上单击

Android软键盘未在按钮单击上显示

如何在按钮上运行代码单击Android片段

在Android编程中,如何在单击按钮后更改按钮的图像?

[Android-解决方案]在android中同时单击两个按钮

如何在android中单击按钮时更改ImageView?

如何检查所有CheckBox都在按钮上单击android中单击

如何在Android中单击按钮调用两个函数?

Android:如何通过单击按钮在不同的图像之间循环?

同时单击两个二次采样比例图像将使Android崩溃

Android-测量两次按钮单击之间的时间

在按钮上的两个图像之间拉伸TextBlock

在 Android 上单击按钮后如何发送命令?

单击FragmentActivity上的后退按钮后,Android维护Activity

单击ImageView时,更改布局Android的背景

Android:单击“最近”按钮时启动一个新活动而不显示两个活动

在按钮上单击时在android中添加片段,并同时向其中添加数据

如果在按钮上的Android条件错误单击监听器

android:在按钮上播放音频单击列表视图行内

如何在按钮上播放不同的音频单击android java

Android-单击图像按钮时崩溃

单击按钮后,Android Kotlin bottomSheetBehavior崩溃

在Android中单击后如何隐藏按钮

单击按钮后Android活动崩溃

单击按钮后Android App崩溃

单击菜单按钮后Android App崩溃

单击按钮后无法关闭 DialogFragment(Android)