配列からランダムな飲み物の組み合わせを生成するだけのコード手順があります。必要なのは、各選択肢に異なる画像を割り当てて、その画像を表示させることです。ランダムな飲み物のコードは次のとおりです。
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 に入れましたが、動作しませんか?