如何随机设置按钮文本而不重复?

时间:2016-02-04 13:38:35

标签: android random

我想用随机的str数组设置按钮文本:

String str[] = { "1", "2", "3", "4", "5", "6" };
Button buttons[] = new Button[4];

        buttons[0] = (Button) findViewById(R.id.id1);
        buttons[1] = (Button) findViewById(R.id.id2);
        buttons[2] = (Button) findViewById(R.id.id3);
        buttons[3] = (Button) findViewById(R.id.id4);

for (int i = 0; i < 4; i++) {
        Random r = new Random();
        int x = r.nextInt(str.length); 
        buttons[i].setText(str[x]);
                    }

那么如何设置按钮文本而不重复? 这样的事情: enter image description here

2 个答案:

答案 0 :(得分:1)

你的问题不是很清楚。我想这可能是你想要的:

1)将备用按钮文本放入数组,列表或方便的结构中。

2)随机播放数组(或其他),使文本按随机顺序排列,不重复。

3)以随机顺序选择文本以分配按钮。

答案 1 :(得分:0)

        List<Integer> setNames = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            int x;
            do {
                Random r = new Random();
                x = r.nextInt(str.length);
            }while(setNames.contains(x));
            setNames.add(x);
            buttons[i].setText(str[x]);
        }

这是另一种可能性。足以进行四次迭代。