2011-10-24 7 views
0

私のアンドロイドアプリは、基本的には1つのリストビューに40個のリストアイテムがある単純なものです。クリックされると、それぞれのアイテムがイメージにつながります。 40枚の画像があります。アンドロイドプロジェクトに画像を挿入するにはどうすればいいですか?

私はいつものコースの場所のres /描画可能フォルダ内のこれらの画像とする場合は、

img.setImageResource(R.drawable.day1); 
. 
. 
. 
img.setImageResource(R.drawable.day3); 
. 
. 

が行わハードコーディングされます私のJavaファイルから直接それらを参照することができます。 など

イメージ名をフォルダからプログラムで取得して表示するには、とにかく(たとえばxmlにイメージの名前を保存する)ことはできますか?

+0

こんにちはこの問題 [1を見てください]:http://stackoverflow.com/questions/6776575/android-how-can-i-dynamically-load-drawables-pictures-names-not-known-until – Herry

答えて

1
int resID = getResources().getIdentifier("day" + i, 
    "id", getPackageName()); 

私はあなたの指標である

img.setImageResource(resID); 
0

リソースを使用して動的ビットマップオブジェクトを作成します。ループやインデックスのために使用した画像の同じ名前を使用し

ImageView image = (ImageView) findViewById(R.id.test_image); 
    Bitmap bMap = BitmapFactory.decodeFile("/sdcard/"+"test"+index+".png"); 
    image.setImageBitmap(bMap); 

のような、イメージ1、画像2 ... コール..

0

何I

あなたが言ったように画像をres/drawableフォルダに配置しますが、あなたが言ったようにそれらを呼び出さないでしょう;働き過ぎ!あなたがそれぞれの位置に何か追加forループでいっぱいのアレイ「画像」、作成してみてください:

このよう
for (i;i<x;i++) //Where x is the number of images you use 
    Images[i] = "R.drawable.day"+String.valueOf(i); 
    // Even you could try with: 
    // Images[i]="img.setImageResource(R.drawable.day"+String.valueOf(i)+")"; 

を、あなただけの画像を呼び出す必要があります[i]の「i」の

画像を呼び出すために

私はこれがあなたを助けることを望みます:)

0

これは簡単なやり方です: res/drawableでイメージを配置し、特定のパターンを使用してすべての名前を付けます(例:img1、img2、img3 ...)。 )、その後、次のような名前のパターンを使用して動的にロードします。

IMAGE_PATTERNはあなたのファイルを:)名前に使わどんな "画像" または "IMG" またはのようなものかもしれ

幸運、 Arkde

関連する問題