我正在尝试在Android中随机播放单选按钮,这里是我迄今为止所做的代码,但是当我继续前进时,我没有得到应该是代码或如何做到这一点。
如果我错了,请纠正,或者在我不熟悉的时候做一些愚蠢的错误。
ArrayList<RadioButton> arrayText = new ArrayList<>();
arrayText.add(ropt0);
arrayText.add(ropt1);
arrayText.add(ropt2);
arrayText.add(ranswer);
Collections.shuffle(arrayText);
Collections.shuffle(arrayText);
后我没有得到下一个
应该是代码
请建议
答案 0 :(得分:0)
我觉得你不太明白你在做什么,你想要什么。在您的代码中,您只需将所有RadioButtons
添加到ArrayList
,然后随机播放此列表。这与:
ArrayList<Stirng> list = new ArrayList<String>();
list.add("a1");
list.add("a2");
Collections.shuffle(list);
你知道,这并没有以任何方式连接到用户界面。如果你想在UI中随机播放按钮(因此用户会看到它),你有两种方法:
在代码中创建并添加单选按钮。在视图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));
}
随机播放右键位置。在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