Get drawable of image button

2019-01-28 12:57发布

问题:

How can I get the drawable of an Image Button to compare and do something if the drawable is A and something if is B?. Thank you so much.

    switch(getDrawableId(buttonRepeat)) {

        case R.drawable.a:
            mediaPlayer.setLooping(true);

             break;
        case R.drawable.b:
                mediaPlayer.setLooping(false);

             break;
        default:

        break;
          }

回答1:

Use getDrawable() method in ImageButton and compare them using .getConstantState().equals()

Sample code:

ImageButton btn = (ImageButton) findViewById(R.id.myImageBtn);
Drawable drawable = btn.getDrawable();
if (drawable.getConstantState().equals(getResources().getDrawable(R.drawable.myDrawable).getConstantState())){
   //Do your work here
}

References:

http://developer.android.com/reference/android/widget/ImageButton.html

Comparing two drawables in android