2014-04-21 2 views
2

저는 안드로이드에서 항목 이미지가 많이 필요한 작은 온라인 쇼핑 응용 프로그램을 개발 중이며, 안드로이드 drawable-mdpi에있는 이미지 경로를 제공하는 웹 서비스가 있습니다. 여기 내 문제는 나는 imageresource ID를 얻기 위해이 코드를했는데, 그것은 항상 내가 좋아하는 당김을 위해 사용할 수 있도록 자원 ID를 얻기 위해 나에게이미지 리소스는 Android에서 0을 제공합니다.

String uri = "@drawable/bangle1.png"; 
int imageResource = getResources().getIdentifier(uri, null, getPackageName()); 

어떤 방법이 있습니까 0을 제공합니다

Drawable res = getResources().getDrawable(imageResource); 

나는 인터넷 검색을 시도했다. 그러나 대부분은 위의 방법을 제안했다. 그리고 이것은 항상 나를 준다. 0 값. 누구든 도와주세요.

+0

이미 드로어 블 폴더에 있다면, 'int imageResource = R.drawable.bangle1;'을 사용하지 않을까요? – dharms

+0

@dcharms 나는 webservice로부터 응답을 얻어야하는데, 그 이미지는 activity list view에 표시되어야한다. 내가 왜 그걸 시도하는지. –

+0

나는 본다. 죄송합니다. 드로어 블을 어떻게 결정했는지 오해했습니다. – dharms

답변

0

감사 시도가 계속 사용하려는 경우 Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name.

때문에, 심지어 내가, 그것을 해결 didnt는 다른 모든 제안 답변을 그것을 시도하지만 난 여기 마침내 해결책을 발견 : How do I get the resource id of an image if I know its name?합니다.

은 마술 일 :

String mDrawableName = "bangle1"; 
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName()); 

을 여기에, myDrawableName 같은 확장하지 말았어야 ".PNG"를. 모두에게 감사드립니다.

1

이미지를/assets/폴더에 넣는 것이 더 좋을 것이며 drawable 리소스를 사용하지 않는 것이 좋습니다. 당신의 방법은 모든 getResources().getIdentifier("bangle1.png", "drawable", getPackageName());

+0

안녕하세요, 답장을 보내 주시면 감사하겠습니다. –

+0

안녕하세요. –

0

문제는 접미사와 함께 이미지 이름을 쓰고 있다는 것입니다. 다음 코드를 사용해보십시오 :

int imageResource = getResources().getIdentifier(
    "your image name without suffix(bangle1)", "drawable", YourActivtyName.this); 
+0

나는 내 질문에 답했다. 이미지 자원 ID를 얻는 다른 방법은 허용됩니다. –

관련 문제