我现在有一个代码仪式,它只从一个数组中生成一个随机的饮料组合,我需要做的是为每个选择分配一个不同的图像并让它显示该图像。这是我的随机饮料代码:
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 语句?感谢任何人的帮助!非常感谢我已经坚持了一段时间。
==================================================== ==============@Joan
这是我尝试使用您的代码汇总的内容:
//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 中,但它不起作用?