Reputation: 50
There is an image background of imageButton. It has an default image background at the time of un-select. When the imageButton is click its background image changes and is select. Now I need is when user click again on ImageButton it background image should be change as was at time unselect time default image.
Here is my Activity image button code :-
img1 = (ImageButton) findViewById(R.id.imageButton1);
//img1.setImageResource(R.drawable.image1);
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//start();
//img1.setImageResource(R.drawable.badmiton_blur);
img1.setImageResource(R.drawable.image1);
}
});
Here is my xml code :-
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_selected="true"
android:drawable="@drawable/badmintion140"
/>
<item
android:state_selected="false"
android:drawable="@drawable/badmiton_blur"
/>
</selector>
Upvotes: 0
Views: 203
Reputation: 505
Please try this code.
boolean defaultImage=true;
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (isClicked) {
defaultImage=false;
img1.setImageResource(R.drawable.image1);
}
else
{
defaultImage=true;
img1.setImageResource(R.drawable.defaut);
}
}
});
Upvotes: 1
Reputation: 14590
Add one boolean varialbe
boolean isClicked;
and change your code like this.
boolean isClicked;
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
isClicked=!isClicked;
if (isClicked) {
img1.setImageResource(R.drawable.image1);
}else {
img1.setImageResource(R.drawable.defaut);
}
}
});
Upvotes: 2