我的应用程序在API 23及更高版本中运行良好,但是当我在API 21中运行它时似乎存在一个错误。我已将其缩小到这段代码:
if (myButton.getBackground().getConstantState() == ResourcesCompat.getDrawable(getResources(), R.drawable.myDrawable, null).getConstantState())
{...}
在API 21中,它总是返回false(即使它不应该),所以我猜其中一种方法在API 21中不起作用。
有什么想法吗?是否有其他方式(与API 21及更高版本兼容)来检查按钮的背景是否分配了特定的可绘制内容?
ps:我的minsdk是21,但Lint没有给我任何警告。
答案 0 :(得分:1)
您可以尝试使用ContextCompat:
ContextCompat.getDrawable(yourContext, R.drawable.myDrawable).getConstantState();