Android ImageButton - determine what resource is currently set

12,833

Solution 1

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

Solution 2

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().

Share:
12,833
Chris
Author by

Chris

Updated on July 18, 2022

Comments

  • Chris
    Chris almost 2 years

    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

  • Joubarc
    Joubarc almost 14 years
    That said, I agree with slup - if you want to test the state of your button, there are more logical ways to do it.