2012-04-18 5 views
0

가능한 중복 :
Setting Android images from string value안드로이드 변경 배경 이미지 프로그래밍 문자열에서

나는이 소스 문자열과 안드로이드 프로그래밍 배경 이미지를 변경해야합니다. 예를 들어, "source1", "source2"등의 XML 파일에서 가져온 문자열의 배열을 가지고 있는데 어떻게 이미지를 배경으로 설정할 수 있습니까? mTextView.setBackgroundResource(R.drawable.myResouce);과 같은 예제를 보았지만 문자열에서 mySource를 설정하는 방법을 이해하지 못했습니다. Drawable 객체를 통해 가능할 수 있습니까?

+0

이 http://stackoverflow.com/questions/4313007/setting-android-images-from-string-value – ngesh

+0

를 참조하십시오 ..? 힌트가 필요하면 "android : hint"를 사용하십시오 ... –

+0

XML 파일에서 어떤 유형의 문자열을 얻고 있습니까? 몇 가지 예를 보여줄 수 있습니까? –

답변

4

이미지 이름을 드로어 블 안에 String.xml과 동일하게 유지하십시오.

말 예를 들면 : 당신이 그것을 반환 당신이 문자열 변수로 당김 것 getResourceId()이 이름을 전달하는 경우 images.png는 String.xml

에서 이미지해야한다. 당신이 배경으로 텍스트를 만드는 이유는

public static int getResourceId(Context context, String name, String resourceType) { 
    return context.getResources().getIdentifier(name, resourceType, context.getPackageName()); 
} 

int iconId = getResourceId(Activity.this, image, "drawable");  

ImageView categoryIcon = (ImageView) v.findViewById(R.id.category_icon); 
categoryIcon.setImageResource(iconId); 
+0

toResourceString (name) 메서드 란 무엇입니까? –

+0

mu 업데이트 된 답변을 확인하십시오. 해당 메소드가 필요하지 않습니다. 간단히 문자열 이름을 전달하십시오. – Venky

+0

시도해 보았지만 나에게 도움이되지 않습니다. View v = new View (this); \t \t TextView textView = (TextView) v.findViewById (R.id.provider_logo); \t \t int resid = Helpers.getResourceId (PaymentActivity.this, "logo", "drawable"); \t \t textView.setBackgroundResource (resid); ' –