我有一个带有数字“25”、“50”、“75”、“100”的字符串数组,我正在使用下面的方法来打乱列表项的位置。
public List<String> listNums() {
List<String> numList = Arrays.asList(Nums);
Collections.shuffle(numList);
return numList;
我也有这种方法可以将列表项分配给 4 个按钮:
protected void SetTxtNums(){
NumGenerator numGen = new NumGenerator();
bNum2.setText(numGen.listNums().get(0).toString());
bNum3.setText(numGen.listNums().get(1).toString());
bNum4.setText(numGen.listNums().get(2).toString());
bNum5.setText(numGen.listNums().get(3).toString());
}
我正在尝试通过单击另一个按钮将文本更改为上面的按钮,但这不起作用。onClick 代码是这样的:
case R.id.bNumGen:
SetTxtNums();
break;
问题是会产生重复的值。我希望每个按钮都有不同的数字,只是位置要改变。
如果我为这样的测试添加祝酒词:
Toast.makeText(getApplicationContext(), numGen.listBigNums().toString(), Toast.LENGTH_LONG).show();
然后在吐司上我得到正确的结果,按钮完全不同,其中两个甚至三个具有相同的值。我的错误在哪里?