내장된 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 |