如何从代码中获取可绘制的标识符

时间:2012-08-30 09:35:36

标签: android

有一个drawable我想找到标识符

布局

<TextView
    ...
    android:drawablePadding="5dp"
    android:drawableLeft="@drawable/account_lock"
/> 

活动

...
TextView tv = ...;
Drawable d = tv.getCompoundDrawables()[0];
int id = d.???????    

我看过getResources().getIdentifier(name, defType, defPackage),但我认为这对我没有帮助;

2 个答案:

答案 0 :(得分:1)

id应该可以作为R.drawable.account_lock

访问

答案 1 :(得分:0)

我就是这样做的。我不知道你是否需要它像我一样在res的子文件夹中。

//In this example, I'm getting an id from the res/raw folder.
    int id = *activity.this*.getApplicationContext().getResources().getIdentifier(*filename*, "raw", *packagename*);