如何动态解决这个随机按钮实现

时间:2013-04-29 11:05:42

标签: java android dynamically-generated

我有一个带有整数0,1,2,3,4的列表。然后我将它洗牌,作为第三步,我想初始化按钮,第一个对象与button1相关,第二个对象与button2等。 如果我手动完成它会起作用,但我想动态地解决它。

    List<Integer> objects = new ArrayList<Integer>();
            objects.add(0);
            objects.add(1);
            objects.add(2);
            objects.add(3);
            objects.add(4);

        // Shuffle the collection
    Collections.shuffle(objects);

//this is not working here, but it should reflect what i am trying to achieve here
// -->
    for (int i = 0; i<objects.size(); i++) {
        Button button**i** = (Button)findViewById(R.id.button**i**);
        button**i**.setText(objects.get(i).toString());
    }

提前致谢。任何帮助(赞美我的鼻子朝向正确的方向)

1 个答案:

答案 0 :(得分:4)

您可以通过随机播放按钮列表来解决此问题。当您使用int进行迭代时,它可以作为混洗列表的索引。

像这样:

List<Button> buttons = new ArrayList<Button>();
buttons.add((Button)findViewById(R.id.button0));
buttons.add((Button)findViewById(R.id.button1));
buttons.add((Button)findViewById(R.id.button2));
buttons.add((Button)findViewById(R.id.button3));
buttons.add((Button)findViewById(R.id.button4));

Collections.shuffle(buttons);

for (int i = 0, s = 4; i < s; i++) {
    buttons.get(i).setText("" + i);
}