2016-08-12 8 views
-1

オブジェクト内に非常に多くの画像を使用するために、動的decodeResourceを作成します。ダイナミックdecodeResourceを作成するには?

これは私のコードです:

for(int i=42; i<55; i++) { 
      bitmap = BitmapFactory.decodeResource(context.getResources(), 
        Integer.parseInt("R.drawable.a"+i)); 
     } 

私はファイル

R.drawable.a43 to a54 

その可能性がdecodeResourceためのループを作成するために取得したいですか? 「R.drawable.a ##」のリソースIDを取得するに

+0

誰でも私を助けることができますか? –

+0

何が問題なのですか?なぜあなたは受け入れなかったのですか? – oldrinb

答えて

2

次のように動的に我々がResources.getIdentifierを使用することができます。

final String pkg = context.getPackageName(); 
final Resources resources = context.getResources(); 
... 
int num = ...; /* between 43 and 54 */ 
final int id = resources.getIdentifier("a" + num, "drawable", pkg); 

をあなたはずっとあなたが今持っているもののようループを使用してListでこれらを保存することができます、わずかに変更された範囲でのみ:

final String pkg = context.getPackageName(); 
final Resources resources = context.getResources(); 

final List<Bitmap> bitmaps = new ArrayList<Bitmap>(); 
for (int i = 43; i <= 54; ++i) { 
    /* decode bitmap with id R.drawable.a{i} */ 
    final Bitmap bitmap = BitmapFactory.decodeResource(resources, 
     resources.getIdentifier("a" + i, "drawable", pkg)); 
    bitmaps.add(bitmap); 
} 
/* now bitmaps contains the Bitmaps */ 
関連する問題