2016-04-13 5 views
0

ich Schleife durch eine Tabellenansicht und im Hinzufügen von was auch immer Zeilen enthält den Text in einem Textfeld ich eingegeben. Ich habe 5 Felder, aber wenn ich ein Suchfeld leer lasse, wird die Tabelle mit allen Elementen angezeigt.Suche nach Text und nur zur Liste hinzufügen

Um tatsächlich eine Zeile zu finden, muss ich alle Textfelder ausfüllen.

ist es irgendwie, dass ich nur die Zeilen, die die Werte in der Suchdatei enthalten, der neuen Liste hinzufügen und nicht alle hinzufügen kann, wenn ein Feld leer ist.

heres meinen Code.

for(int i = 0; i<table.getItems().size(); i++){ 

      if( ((Person) table.getItems().get(i)).getName().toLowerCase().contains(personName.getText().toLowerCase()) || 
        ((Person) table.getItems().get(i)).getAddress().toLowerCase().contains(personAddress.getText().toLowerCase()) || 
        ((Person) table.getItems().get(i)).getPhoneNumber().toLowerCase().contains(personNo.getText().toLowerCase()) || 
        ((Person) table.getItems().get(i)).getEmail().toLowerCase().contains(personEmail.getText().toLowerCase()) || 
        String.valueOf(((Person) table.getItems().get(i)).getID()).toLowerCase().contains(personID.getText().toLowerCase())) 
      { 
       obList.add(table.getItems().get(i));  
      } 
     } 

Antwort

2

Ersetzen Sie alle

|| 

mit

&& 

in Ihre if-Anweisung