如何清除随机的EditText?

问题描述 投票:0回答:1

我有九个显示随机数的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:

android-studio android-edittext
1个回答
0
投票

为了简单起见,您可以生成随机的int maxCount,它会告诉您要清除多少个EditText。在下一步(例如循环)中,您将随机生成int index,它将告诉您要清除的索引(来自先前生成的数组)。您可以将已清除的索引存储在某个数组中,以防止多次清除同一索引。这够您了吗?

© www.soinside.com 2019 - 2024. All rights reserved.