3 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
請注意,您的方法幾乎總是錯(cuò)誤的處理方式(最好是將上下文傳遞給使用drawable的對(duì)象本身,而不是在Context某個(gè)地方保持靜態(tài))。
鑒于此,如果要進(jìn)行動(dòng)態(tài)可繪制加載,則可以使用getIdentifier:
Resources resources = context.getResources();
final int resourceId = resources.getIdentifier(name, "drawable",
context.getPackageName());
return resources.getDrawable(resourceId);

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
你可以做這樣的事情。
public static Drawable getDrawable(String name) {
Context context = YourApplication.getContext();
int resourceId = context.getResources().getIdentifier(name, "drawable", YourApplication.getContext().getPackageName());
return context.getResources().getDrawable(resourceId);
}
為了從任何地方訪問上下文,您可以擴(kuò)展Application類。
public class YourApplication extends Application {
private static YourApplication instance;
public YourApplication() {
instance = this;
}
public static Context getContext() {
return instance;
}
}
并將其映射到您的Manifest application標(biāo)簽中
<application
android:name=".YourApplication"
....

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊
修改圖片內(nèi)容:
ImageView image = (ImageView)view.findViewById(R.id.imagenElement);
int resourceImage = activity.getResources().getIdentifier(element.getImageName(), "drawable", activity.getPackageName());
image.setImageResource(resourceImage);
- 3 回答
- 0 關(guān)注
- 600 瀏覽
添加回答
舉報(bào)