我这里有这个小代码:
MainActivity.java:
public void Images(View v)
{
ImageButton i = (ImageButton) v;
i.setImageResource(R.drawable.c4_pressed_button);
}
MainActivity.xml:
<ImageButton
android:id="@+id/b1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:contentDescription="@string/contentDescription"
android:src="@drawable/c4_button"
android:onClick="Images"/>
我想要做的就是从ImageButton中比较两个图像(&#39; drawables&#39;?),就像那样:
public void Images(View v)
{
ImageButton i = (ImageButton) v;
if(xxxx == R.drawable.c4_pressed_button)
i.setImageResource(R.drawable.c4_button);
else i.setImageResource(R.drawable.c4_pressed_button);
}
而且我不知道我必须在xxxx中进行比较。 我知道R.drawable.c4_pressed_button是一个Int,但我不知道如何让ImageButton图像与它进行比较。有什么帮助吗?
答案 0 :(得分:1)
使用setTag()
和getTag()
方法
public void Images(View v)
{
ImageButton i = (ImageButton) v;
i.setImageResource(R.drawable.c4_pressed_button);
i.setTag("R.drawable.c4_pressed_button");
}
然后进行比较
public void Images(View v)
{
ImageButton i = (ImageButton) v;
String imageName = (String) i.getTag();
if(imageName.equals("R.drawable.c4_pressed_button"))
i.setImageResource(R.drawable.c4_button);
else i.setImageResource(R.drawable.c4_pressed_button);
}