0

配列からランダムな飲み物の組み合わせを生成するだけのコード手順があります。必要なのは、各選択肢に異なる画像を割り当てて、その画像を表示させることです。ランダムな飲み物のコードは次のとおりです。

    if(Vodka.equals(true)){
                final TextView text2 = (TextView) findViewById(R.id.display2);
                randomIndex = random.nextInt(array_city.Vodka.length);
                text2.setText(array_city.Vodka[randomIndex]);
            }

このコードが「Smirnof」を吐き出し、ボトルの写真を表示すると、「Sky」を吐き出し、そのボトルの写真に変わります。オプションごとにifステートメントを作成せずにこれを行うにはどうすればよいですか?私の配列は非常に長く、それはifステートメントがたくさんあります。助けてくれてありがとう!しばらくこれに固執していたことを非常に感謝しています。

================================================== ============= @ジョアン

これが私があなたのコードを使ってまとめようとしているものです:

    //Run option Vodka
            if(Vodka.equals(true)){
                final TextView text2 = (TextView) findViewById(R.id.display2);
                randomIndex = random.nextInt(array_city.Vodka.length);
                text2.setText(array_city.Vodka[randomIndex]);

                final ImageView image = (ImageView) findViewById(R.id.imageView1);
                int Cimage = getResources().getIdentifier(array_city.Vodka[randomIndex], null, "com.famousmods.what.should.i.drink");
                image.setImageResource(Cimage);
            }

これが私の配列の外観です(小さな例):

    public static final String[] Vodka = {"Absolut Vodka","Finlandia","Ketel One","Polmos Krakow","Skyy","smirnoff vodka",
    "Stolichnaya","Fleischmann's","Gilbey's","Gordon's","Wolfschmitt","Five-O-Clock"};

例として、ファイル「smirnoff_vodka.png」を res/drawables に入れましたが、動作しませんか?

4

1 に答える 1

2

getResources().getIdentifier("image_name", null, "your_application_package");コンテキストで使用して、イメージ ID を取得できます。次に、この ID を使用する場合と同じように使用できますR.id.image_name

編集: null ではなく「描画可能」である必要があります。下記参照。

于 2012-08-28T13:46:38.447 に答える