Как увеличить число edittexts в для цикла - PullRequest
1 голос
/ 02 мая 2020

У меня есть 8 EditText, и я хочу проверить, являются ли эти EditText пустыми или нет.
Это мой код:

if (edt1.getText().toString().equals("K")
      &&!edt2.getText().toString().equals("")
      &&!edt3.getText().toString().equals("")
      &&!edt4.getText().toString().equals("")
      &&!edt5.getText().toString().equals("")
      &&!edt6.getText().toString().equals("")
      &&!edt7.getText().toString().equals("")
      &&!edt8.getText().toString().equals("")){
    next();
}

Это то, что я хочу:

int count=0;
for(int i=1;i<=8,i++){
    if(!edt.getText().toString().equals(""))//how can I increase the number of edt, if i=1, edt1 and if i=2, edt2... 
        count++;
}
if(count==8){
    next();
}

1 Ответ

2 голосов
/ 02 мая 2020

Читайте EditText построчно в массиве. Это было бы намного проще. Кроме того, вы можете использовать String Utils http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html, чтобы проверить пустую строку, или вы можете go с проверкой по умолчанию пустой и пустой строки.

Поместите ссылки, такие как edt1, ed2, edt3 в массив и l oop над ним. Это будет работать.

int count=0;
EditText edt[] = {edt1,edt2,edt3,edt4,edt5,edt6,edt7,edt8}
for(int i=0;i<=7,i++){
    if(edt[0].getText().toString().equals("K") || !edt[i].getText().toString().equals(""))
        count++;
}
if(count==8){
    next();
}
...