Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android ImageButton - determine what resource is currently set

Is there a way I can find what resource a particular ImageButton is set to, at any given time?

For eg: I have an ImageButton that I set to R.drawable.btn_on onCreate. Later, at some point, the ImageButton gets set to R.drawable.btn_off. I want to be able to check what resource the ImageButton is set to in my code.

Thanks Chris

like image 619
Chris Avatar asked Jun 30 '10 07:06

Chris


2 Answers

Just use setTag() and getTag() to associate and retrieve custom data for your ImageView.

like image 151
CommonsWare Avatar answered Nov 16 '22 04:11

CommonsWare


You could define your own class as a child of ImageButton, add a private int variable and set it when setImageResource(int) is called. Something like:

public class MyImageButton extends ImageButton {

    private int mImageResource = 0;

    @Override
    public void setImageResource (int resId) {
        mImageResource = resId;
        super.setImageResource(resId);
    }

    public int getImageResource() {
        return mImageResource;
    }
}

I didn't test it, but you get the idea - then you can call getImageResource() on your button, assuming it has been previously set with setImageResource().

like image 36
Joubarc Avatar answered Nov 16 '22 03:11

Joubarc