0
我的應用程序在API 23及更高版本中運行良好,但是在API 21中運行它時似乎存在一個錯誤。我將其縮小到這段代碼:比較API 21中的資源x API 23
if (myButton.getBackground().getConstantState() == ResourcesCompat.getDrawable(getResources(), R.drawable.myDrawable, null).getConstantState())
{...}
在API 21它始終返回false(即使它不應該),所以我想這些方法之一不API 21
任何工作思路?是否有其他方式(兼容API 21及以上版本)檢查按鈕的背景是否具有指定的特定可繪製對象?
ps:我的minsdk是21,但是lint沒有給我任何警告。
它的工作。你有什麼想法,爲什麼?謝謝您的幫助! –
我無法確定ResourceCompat出現問題,因爲它來自https://developer.android.com/reference/android/support/v4/content/res/ResourcesCompat.html#getDrawable(android.content.res。資源,int,android.content.res.Resources.Theme)使用null將與'getDrawable(resource)'相同。但是當我們使用'ResourcesCompat.getDrawable(getResources(),R.drawable.myDrawable,null).getConstantState()'Android Studio會抱怨它可以返回null。因此問題出現了。 –