내장된 resource를 가져오려면 약속된 key로 가져오게 된다.
가장 보편적으로 쓰는것이 파일이름이 image.jpg인 drawable에 대해
ImageView.setImageResource(R.drawable.image);
하지만 key를 모를경우, String으로 해당 resource를 찾아올 수 있다.
private static Drawable getResource(String resName, Context context)
throws NameNotFoundException {
Context resContext = context.createPackageContext(context.getPackageName(), 0);
Resources res = resContext.getResources();
int id = res.getIdentifier(resName + "48", "drawable", context.getPackageName());
if (id == 0) {
return res.getDrawable(R.drawable.page_white48);
} else
return res.getDrawable(id);
}
.
int android.content.res.Resources.getIdentifier(String name, String defType, String defPackage)
Added in API
level 1
name : resource의 이름
getType : resource type(ex. drawable 등등)
defPackage : resource를 가지고 있는 package
'프로그래밍 > Android 짜투리 지식' 카테고리의 다른 글
| [android] dex index (0) | 2014.06.03 |
|---|---|
| [android] 한줄 팁 (0) | 2014.04.04 |
| [android] ImageView Matrix (0) | 2014.01.09 |
| [android] [API] dropbox (0) | 2014.01.06 |
| java.lang.UnsupportedOperationException (0) | 2014.01.06 |