У меня много кнопок с различным настраиваемым фоном, определенным в drawable.После нажатия кнопки я хочу изменить фоновый ресурс для рисования в зависимости от фактического ресурса.
Я пытаюсь с помощью этого кода получить фактический ресурс и сравнить его со всеми нарисованными, но он не работает,любой случай подтвержден.Кроме того, каждый раз, когда я нажимаю кнопку «Журналы первый, второй и третий», каждый раз печатаются разные значения (не должны быть одинаковыми?)
private void selectNewCell(){
Log.d("ChangeBG","Select new cell");
Button btn = buttonMatrix[selectedCoordinates.getI()][selectedCoordinates.getJ()];
Drawable actualBG = btn.getBackground();
Log.d("Actual", "Value " + actualBG.getConstantState());
Log.d("First", "Value " + getResources().getDrawable(R.drawable.button_bg).getConstantState());
Log.d("Second", "Value " + getResources().getDrawable(R.drawable.button_bg_bot).getConstantState());
Log.d("Third", "Value " + getResources().getDrawable(R.drawable.button_bg_right).getConstantState());
if(actualBG.getConstantState().equals(getResources().getDrawable(R.drawable.button_bg).getConstantState())){
btn.setBackgroundResource(R.drawable.button_bg_selected);
Log.d("ChangeBG","Case1");
} else if(actualBG.getConstantState().equals(getResources().getDrawable(R.drawable.button_bg_bot).getConstantState())){
btn.setBackgroundResource(R.drawable.button_bg_bot_selected);
Log.d("ChangeBG","Case2");
} else if(actualBG.getConstantState().equals(getResources().getDrawable(R.drawable.button_bg_right).getConstantState())){
btn.setBackgroundResource(R.drawable.button_bg_right_selected);
Log.d("ChangeBG","Case3");
}
}