0

アクティビティ ( onCreate ) の背景をランダムに変更しようとしています。それは最後のステップで立ち往生しています...それを示してください。誰かが私にアイデアを持っているかもしれません。

5つ以上のドローアブルを含むxmlファイル内に配列を作成しました-次のようになります..

<array name="backgrounds">
   <item>@drawable/bg1_320x480</item>
   <item>@drawable/bg2_320x480</item>
   <item>@drawable/bg3_320x480</item>
   <item>@drawable/bg4_320x480</item>
   <item>@drawable/bg5_320x480</item>
   <item>@drawable/bg6_320x480</item>
</array>

私の主な活動の中で、配列から 1 つのランダムな要素を取得します ...

String[] mTempArray = getResources().getStringArray(R.array.backgrounds);
    int iMin = 0;
    int iMax = 5;
    int randomIndex = iMin + (int) (Math.random() * iMax);
    String resPath = mTempArray[randomIndex];

resPath は私を返します (例) res/drawable-hdpi/bg4_320x480.png。この時点から、多くの解決策を見つけましたが、成功するものは何もありません。

背景を設定・変更・上書きする最後のポイントは?

4

1 に答える 1

1

リソース ID は単なる整数です。文字列を扱う必要はありません。このようなものを使用して int[] imageIds = new int[] { R.drawable.bg1, R.drawable.bg2, ... }; 、ランダムな要素を選択し、背景として設定できます。xml でリソース ID の配列をエンコードできるかどうかわかりません。

于 2013-06-22T20:03:00.307 に答える