【发布时间】:2021-07-16 02:42:30
【问题描述】:
如果我想通过单击一个按钮将图像更改为另一个图像,然后通过单击 android studio 中 imageview 上的同一按钮再次返回到上一个图像,如何以简明扼要的方式做到这一点?由于我是新手,所以我不熟悉 imageview 的所有功能。
例如:- 在寻找更简单的方法失败后,我编写了这段代码来做我需要的事情。
int i=0;
public void change(View v){
int img[] = {R.drawable.cat1,R.drawable.cat2};
ImageView cat = findViewById(R.id.imageView2);
if(i==0)
{cat.setImageResource(img[1]);
i=1;}
else {cat.setImageResource(img[0]);
i=0;}
}
在我尝试做这样的事情之前:-
public void change(View v){
ImageView cat = findViewById(R.id.imageView2);
if(cat.getDrawable()==R.drawable.cat2;)
{cat.setImageResource(R.drawable.cat1);}
else
{cat.setImageResource(R.drawable.cat1};
}
但是它不断给出错误,它们具有不同的类型,我还尝试了一些其他名为 getId() 的函数,但它也没有工作...... 所以我的主要目标是,是否有一个函数可以让我直接将图像视图的资源与可绘制文件夹中的图像一起存储,以及如何在 if else 或其他一些条件语句中实现它?
【问题讨论】:
-
你的意思是,第一个sn-p代码给你错误?它看起来不错,是实现目标的好方法。使用它时收到什么错误消息?
-
不是第一个 sn-p 是我做的,但它看起来很大并且有很多行。
-
我要求提供类似于我在第二部分中尝试的任何类型的功能,以便代码变得更小更简单
-
除了使用布尔值之外,这种方法再简单不过了。但是它不能在旋转中存活。
标签: android android-studio imageview android-studio-4.2