我有一個字符串數組與數字「25」,「50」,「75」,「100」 和我正在使用下面的方法來洗牌的位置的項目。按鈕setText從洗牌清單項目位置顯示錯誤的結果
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;
的問題是,產生dublicate值。我希望每個按鈕都有不同的編號,只是要改變的位置。
如果我包括用於測試這樣的敬酒:
Toast.makeText(getApplicationContext(), numGen.listBigNums().toString(), Toast.LENGTH_LONG).show();
然後舉杯我得到正確的結果,按鈕是完全不同的,與兩個甚至三個它們的值相同。 我的錯誤在哪裏?
沒有不同的列表,只是一個錯字(intlist)。我已更正了代碼 –
@ dancer_69,但我的解決方案應該可行。你試過嗎? –
是的,它的工作表示感謝。但是,你能解釋我的邏輯錯誤是什麼(如果不是很多的話)? –