Существует два метода setColor
для GradientDrawable
Во-первых, добавлено на уровне API 1
public void setColor (int argb)
Во-вторых, добавлено на уровне API 21
public void setColor (ColorStateList colorStateList)
Solution !!
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
shape.setColor(ContextCompat.getColor(this,R.color.colorAccent)) // your selectedColor
}else {
shape.setColor(Color.parseColor("#D81B60")) // your selectedColor
}