我有九个显示随机数的EditText。
[generateSquares方法在无序列表中随机设置数字从1到9的EditTexts文本。
然后,我想在程序启动时使用onCreate方法清除一些EditText。
我想随机清除九个EditText中的2、3、4或5。
一旦启动程序,我想随机清除例如两个editTexts。
EditText1 + EditText4或
EditText2 + 9;或
EditText3 + EditText6;
如果算法清除3个EditText,则将为
例如,EditText1 + EditText4 + EditText9。
我需要的是EditTexts设置文本后,随机清除2、3、4或5个EditTexts
private EditText e1;
private EditText e2;
private EditText e3;
private EditText e4;
private EditText e5;
private EditText e6;
private EditText e7;
private EditText e8;
private EditText e9;
//Set Text of EditTexts randomly (numbers from 1 to 9)
public void generateSquares() {
// Generates a random array to SetText of EditTexts randomly
Integer [] shuffleArray = new Integer[] { 1,2,3,4,5,6,7,8,9 };
List<Integer> shuffleList = Arrays.asList(shuffleArray);
Collections.shuffle(shuffleList);
listaDesordenada.toArray(shuffleList);
String arrayItem1 = Integer.toString(shuffleArray[0]);
String arrayItem2 = Integer.toString(shuffleArray[1]);
String arrayItem3 = Integer.toString(shuffleArray[2]);
String arrayItem4 = Integer.toString(shuffleArray[3]);
String arrayItem5 = Integer.toString(shuffleArray[4]);
String arrayItem6 = Integer.toString(shuffleArray[5]);
String arrayItem7 = Integer.toString(shuffleArray[6]);
String arrayItem8 = Integer.toString(shuffleArray[7]);
String arrayItem9 = Integer.toString(shuffleArray[8]);
t1.setText(arrayItem1);
t2.setText(arrayItem2);
t3.setText(arrayItem3);
t4.setText(arrayItem4);
t5.setText(arrayItem5);
t6.setText(arrayItem6);
t7.setText(arrayItem7);
t8.setText(arrayItem8);
t9.setText(arrayItem9);
}
//Clear randomly EditTexts:
?
为了简单起见,您可以生成随机的int maxCount,它会告诉您要清除多少个EditText。在下一步(例如循环)中,您将随机生成int index,它将告诉您要清除的索引(来自先前生成的数组)。您可以将已清除的索引存储在某个数组中,以防止多次清除同一索引。这够您了吗?