String rank[] = {"tclub1.png", "tclub2.png", "tclub3.png", "tclub4.png",
"tclub5.png", "tclub6.png", "tclub7.png", "tclub8.png", "tclub9.png",
"tclub10.png", "tclub11.png", "tclub12.png", "tclub13.png"};
Random randInt = new Random();
int b = randInt.nextInt(rank.length);
String d = ("tclub" + b + ".png");
Log.v(LOG_TAG, "in value:=" + d);
Above开发者_如何转开发 is the code. Actually my array is giving me one random index between(0 to 12)..after that I'm appending it to make an image name. eg(tclub1.png) Now the image name which it gives to me is String format. How can I assign this image now randomly?
If you want to load the image to an ImageView, you can do this:
String imgName = "tclub1"; // the image you want to load
int id = getResources().getIdentifier(imgName, "drawable", getPackageName());
imageView.setImageResource(id);
to find the control:
ImageView image = (ImageView) findViewById(R.id.rockId);
To dynamicly load an image from drawable i use this helper function
public static int getDrawable(Context context, String name)
{
Assert.assertNotNull(context);
Assert.assertNotNull(name);
return context.getResources().getIdentifier(name,
"drawable", context.getPackageName());
}
this will return the id of your drawable, now all you need to to is set the image in the control:
image.setImageResource(int Id);
精彩评论