我想知道如何随机选择图像并将其设置为图像视图。我知道如何使用兰德方法等。但是有没有办法随机显示,快速,其他图像,然后转到答案。就像你掷骰子一样。
答案 0 :(得分:1)
使用线程。&使用随机数生成器获得低于您的图像数组长度的数字。并在imageview中设置该图像
答案 1 :(得分:0)
您可以使用Timer和Random类:
以下是代码:
public class AndroidActivity extends Activity {
private ImageView frame;
private Image[] images = {blah, blah, blah};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_page);
frame = (ImageView)findViewById(R.id.frame);
syncTask task = new syncTask();
Timer timer= new Timer();
task.schedule(timer, 0, 3000);;
}
private class syncTask extends TimerTask {
public void run() {
frame.setImageResource(images[random.nextInt(images.length)]);
}
}
}
答案 2 :(得分:0)
使用以下功能,它将为您提供随机数。
Random rand = new Random();
int list_pos = rand.nextInt((size_ofimage_array - 1) - 0 + 1) + 0;
将此随机位置传递给图像数组..:)
答案 3 :(得分:0)
希望这会给你一点想法。它可能不是一个完美的解决方案,但你可以试试这个:)
final int[] imageViews = {
R.id.imgview11, R.id.imgview12, R.id.imgview13,
R.id.imgview21, R.id.imgview22, R.id.imgview23,
R.id.imgview31, R.id.imgview32, R.id.imgview33 };
final int[] images = {
R.drawable.i1, R.drawable.i2, R.drawable.i3,
R.drawable.i4, R.drawable.i5, R.drawable.i6,
R.drawable.i7, R.drawable.i8, R.drawable.empty };
final ImageButton imageButton = (ImageButton) findViewById(R.id.newview);
imageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Random rng = new Random();
List<Integer> generated = new ArrayList<Integer>();
for (int i = 0; i < 9; i++)
{
while(true)
{
Integer next = rng.nextInt(9) ;
if (!generated.contains(next))
{
generated.add(next);
ImageView iv = (ImageView)findViewById(imageViews[i]);
iv.setImageResource(images[next]);
break;
}
}
}
}
});