Android中的单选按钮随机播放

时间:2017-07-27 06:38:45

标签: android radio-button shuffle

我正在尝试在Android中随机播放单选按钮,这里是我迄今为止所做的代码,但是当我继续前进时,我没有得到应该是代码或如何做到这一点。

如果我错了,请纠正,或者在我不熟悉的时候做一些愚蠢的错误。

ArrayList<RadioButton> arrayText = new ArrayList<>(); 

arrayText.add(ropt0); 
arrayText.add(ropt1); 
arrayText.add(ropt2); 
arrayText.add(ranswer); 

Collections.shuffle(arrayText);

Collections.shuffle(arrayText);后我没有得到下一个 应该是代码

请建议

1 个答案:

答案 0 :(得分:0)

我觉得你不太明白你在做什么,你想要什么。在您的代码中,您只需将所有RadioButtons添加到ArrayList,然后随机播放此列表。这与:

相同
ArrayList<Stirng> list = new ArrayList<String>();
list.add("a1");
list.add("a2");

Collections.shuffle(list);

你知道,这并没有以任何方式连接到用户界面。如果你想在UI中随机播放按钮(因此用户会看到它),你有两种方法:

  1. 在代码中创建并添加单选按钮。在视图XML文件中定义一些RadioGroup,然后创建并添加RadioButton s

    RadioGroup lay = (RadioGroup) findViewById(R.id.my_radio_group);
    List<RadioButton> buttons = new ArrayList<>();
    RadioButton rb1 = new RadioButton(this);
    RadioButton rb2 = new RadioButton(this);
    buttons.add(rb1);
    buttons.add(rb2);
    Collections.shuffle(buttons);
    for(RadioButton rb:
        buttons){
        lay.addView(rb,new RadioGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
    }
    
  2. 随机播放右键位置。在XML中创建N按钮。然后在代码中设置所有文本,这样就可以确定哪个按钮是正确的。

    List<String> answers = new ArrayList<>(4); // 4 - button number
    //Fill the list here
    int rightAnswerPosition = ...; //Decide it when you fill your list
    rb1.setText(answers.get(0));
    //.. and so on
    
相关问题