在4个字符串中随机填写一个按钮SetText - Android

时间:2013-10-22 12:44:34

标签: java android

我有4个按钮。

我有4个不同的字符串。

我想以ramdomly填写4按钮的文字* 我怎么能简单地编码呢?

以下是代码:

            switch(randomInt)
        {
        case 0:
            Button01.setText(livreFromBdd.getproposition1());
            Button02.setText(livreFromBdd.getproposition2());
            Button03.setText(livreFromBdd.getproposition3());
            Button04.setText(livreFromBdd.getproposition4());
        case 1:
            Button01.setText(livreFromBdd.getproposition4()); 
            Button02.setText(livreFromBdd.getproposition1());
            Button03.setText(livreFromBdd.getproposition2());
            Button04.setText(livreFromBdd.getproposition3());
        case 2:
            Button01.setText(livreFromBdd.getproposition3());
            Button02.setText(livreFromBdd.getproposition4());
            Button03.setText(livreFromBdd.getproposition1());
            Button04.setText(livreFromBdd.getproposition2());
        case 3:
            Button01.setText(livreFromBdd.getproposition2());
            Button02.setText(livreFromBdd.getproposition3());
            Button03.setText(livreFromBdd.getproposition4());
            Button04.setText(livreFromBdd.getproposition1());


.... etc

我想我可以做点其他事情,更简单,任何想法?

THX,

2 个答案:

答案 0 :(得分:0)

你可以把四个字符串

livreFromBdd.getproposition1();
livreFromBdd.getproposition2();
livreFromBdd.getproposition3();
livreFromBdd.getproposition4();
在ArrayList中。然后生成0和list.size() - 1之间的随机值并添加List 使用随机数索引输入第一个按钮并删除此列表。对每个按钮执行此操作。这应该有效:)

答案 1 :(得分:0)

为什么不在getproposition1类中使用livreFromBdd中的方法而不是getproposition(int index),而是在给定索引处返回相应的字符串。这样你就不需要所有这些方法了。

伪代码:

  1. 有一个0到按钮数的整数列表 - 1.您可以通过循环轻松填充列表。

  2. 随机播放您在步骤1中创建的列表。您可以使用

    Collections.shuffle()。

  3. 循环显示所有按钮。您可以创建按钮列表。

    for(int i = 0; i< buttons.size(); i ++){     buttons.get(ⅰ).setText(livreFromBdd.getproposition(integerList.get(I)); }