>

이미지 이름이있는 데이터베이스가 있으므로 R.drawable.myimage 대신 변수를 사용하고 싶습니다. 데이터베이스에서 이름을 가져오고이 이름으로 드로어 블 리소스를 사용하고 싶습니다.

String flagimage = "R.drawable." + myHelper.getFlagImage(5);
int resourceId = Integer.parseInt(flagimage);
Bitmap flag = BitmapFactory.decodeResource(getResources(), resourceId);

  • 답변 # 1

    같은 리소스 이름을 사용할 수 있습니다

    getIdentifier (String name, String defType, String defPackage);

    getResources().getIdentifier("us","drawable","com.app");
    
    

    위 함수는 R.drawable.us와 동일한 정수 값을 반환합니다.

    이것은 리소스 이름으로 액세스하는 방법입니다.

  • 답변 # 2

    이 코드를 사용하여 식별자를 얻을 수 있습니다 ...

    Resources res = this.getResources(); 
     int resID = res.getIdentifier(imagename, "drawable", this.getPackageName());
    
    

관련 자료

  • 이전 haskell - JHC가 안드로이드 ndk와 협력하도록하려면 어떻게해야합니까?
  • 다음 python - django에서 모델 및 객체에 대한 메타 데이터 추가