1

文字列の配列リストがあります。インデックスをランダムに選択し、文字列値が「bear」の場合は、ボタンの背景を bear.jpg に設定する必要があります。

OK、私の調査によると、リソースは名前ではなく int id によってアクセスされます。やりたいことを達成するための最良の方法がわかりません。これが私のコードです:

    list.add("alligator");
    list.add("bear");
    list.add("beaver");
    list.add("bison");

    randomInt = randomGenerator.nextInt(list.size());
    b1.setBackgroundResource(R.drawable.list.get(randomInt));

もちろん、コードの最後の行は間違っています。達成したいことを示すために書きました。これを達成するための私の最近の試みは、リソース ID を取得してこの方法でリソースにアクセスしようとしていましたが、これがこれを行う方法であるかどうかはわかりません。また、正しいコードを使用していません。私はこれを自分でやろうと懸命に努力していますが、ここで何をすべきかについてアドバイスをいただければ幸いです。これが私の試みです:

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

        String s= Integer.toString(resID);
4

2 に答える 2

4

以下のコードを使用してください

int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());    
b1.setBackgroundResource(resID);
于 2013-05-05T08:58:50.920 に答える
1

これを試して:

list.add("alligator");
list.add("bear");
list.add("beaver");
list.add("bison");

randomInt = randomGenerator.nextInt(list.size());

int resourceId = getResources().getIdentifier(list.get(randomInt), "drawable", getPackageName());
b1.setBackgroundResource(resourceId);
于 2013-05-04T22:18:04.120 に答える