Я разрабатываю приложение для Android, где у меня есть несколько EditTexts. Я устанавливаю фоновый цвет в EditText динамически с тем, который я определил в папке res/drawable. Я хочу получить фоновый цвет EditText и сравнить его с некоторым шестнадцатеричным цветом, e-g, если цвет # ff0000 затем измените цвет текста этого EditText на белый. Это, как я устанавливаю цвет фона EditText:Получить и сравнить цвет фона EditText
allScaleEditTexts.get(row_col).setBackgroundResource
(R.drawable.edittext_bgcolor_one);
То есть, как я получаю цвет фона EditText:
Drawable scaleEdTxtColor = allScaleEditTexts.get(row_col)
.getBackground();
Теперь я хочу, чтобы сделать это сравнение, как:
if(scaleEdTxtColor == #ff0000)
allScaleEditTexts.get(row_col).setTextColor(Color.WHITE);
else
allScaleEditTexts.get(row_col).setTextColor(Color.BLACK);
Я не знаю, как это сравнить. Я пробовал:
if(scaleEdTxtColor == Color.parseColor("#FF0000"))
Но тогда я получаю ошибку сравнения извлекаемого с int. Как я могу это решить?
https://developer.android.com/reference/android/view/View.html#getBackground%28%29 Посмотрите, что .getBackground возвращается! –