2013-12-07 100 views
3

我搜索一種方式來說明哪個資源類型在整數ID後面。例如,我有一個可繪製的標識和另一個顏色。我可以使用Resource.getDrawable(id)加載drawable,使用Resource.getColor(ID)加載顏色,但是如何知道給定ID的哪個方法是正確的。我尋找類似Resource.isColor(id)的東西? 有沒有人有個好主意。我寫了一個圖像加載器,它從web,文件系統和drawables加載圖像,但現在也從十六進制顏色或顏色ID加載。Android獲取資源類型的ID

回答

6

從android資源類檢出this函數。 Resources.getResourceTypeName(int resid)(也this

0

要查找的資源類型最安全的解決方案是使用下面的代碼

String viewName = findViewById(resourceId).toString(); 
String resourcetype = viewName.substring(0,viewName.indexOf("{")); 

resoucetype則包含了完整的類名的資源,例如,在EditText上的情況下,顯示

android.widget.EditText 

嘗試了一些其他的想法,但指出getResourceTypeName只回報上查看「ID」的價值和getTag()不會在所有的C工作onditions。