我有一个ImageButton,当我点击它时,我想改变图像,但只有这是一个特殊图像(实际上是默认图像)。
我的xml:
<ImageButton
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/button1"
android:src="@drawable/imgdefault" />
我有一个听众:
public OnClickListener button1Listener = new OnClickListener() {
@Override
public void onClick(View v) {
if (button1.getDrawable().equals(getResources().getDrawable(R.drawable.imgdefault))) {
button1.setImageResource(R.drawable.newImg);
}
}
但似乎我的“如果”永远不会成真。所以我可以检查这是否仍然是我在ImageButton上的默认图像?
感谢您的帮助。
答案 0 :(得分:2)
有很多方法可以做到,我想到的是:
Boolean clicked = new Boolean(false);
button1.setTag(clicked); // wasn't clicked
button1.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
if( ((Boolean)button1.getTag())==false ){
button1.setImageResource(R.drawable.newImg);
button1.setTag(new Boolean(true));
}
}
});