2016-04-25 6 views
0

In meiner Android-App teste ich einige Zeichenfolgen (die ich von einer anderen Aktivität zurückbekommen habe), um zu sehen, ob sie leer sind. Wenn nicht, baue ich meine URL aus diesen Werten Beispiel: (Edited)Mutiple Werte testen, wie viele andere if-Anweisungen ersetzen?

//country only 
    if (!fetchData_country.isEmpty() && fetchData_city.isEmpty() && fetchData_pmin.isEmpty() && fetchData_pmax.isEmpty()){ 
     query_url = URL_PRODUCT + "?" + URL_SEARCH_COUNTRY + id_country + URL_LANGUAGE; 
     Log.i("INFO", "Url country only : " + query_url); 
    } 
    //country & price min 
    else if(!fetchData_country.isEmpty() && fetchData_city.isEmpty() && !fetchData_pmin.isEmpty() && fetchData_pmax.isEmpty()) { 
     query_url = URL_PRODUCT + "?" + URL_SEARCH_COUNTRY + id_country + "&" + URL_SEARCH_PRICE_MIN + id_pmin + URL_LANGUAGE; 
     Log.i("INFO", "Url country & price_min : " + query_url); 
    } 

    //city & price_min 
    else if(fetchData_country.isEmpty() && !fetchData_city.isEmpty() && !fetchData_pmin.isEmpty() && fetchData_pmax.isEmpty()) { 
     query_url = URL_PRODUCT + "?" + URL_SEARCH_CITY + id_city + "&" + URL_SEARCH_PRICE_MIN + id_pmin + URL_LANGUAGE; 
     Log.i("INFO", "Url city & price_min : " + query_url); 
    } 

    // country & city & pmin 
    else if(!fetchData_country.isEmpty() && !fetchData_city.isEmpty() && !fetchData_pmin.isEmpty() && fetchData_pmax.isEmpty()) { 
     query_url = URL_PRODUCT + "?" + URL_SEARCH_COUNTRY + id_country + "&" + URL_SEARCH_CITY + id_city + "&" + URL_SEARCH_PRICE_MIN + id_pmin + URL_LANGUAGE; 
     Log.i("INFO", "Url country & city & pmin : " + query_url); 
    }//many values to test still... 

Ich frage mich, wie ich diese Prüfung Teile zu verbessern, Danke für die Hilfe!

+0

@Palcente u kann ein wenig pls entwickeln? Es ist nicht sehr klar, danke – Jay

+0

! FetchData_pmin.isEmpty() && fetchData_pmin.isEmpty() das macht überhaupt keinen Sinn –

+0

@NongthonbamTonthoi, sorry! FetchData_pmin.isEmpty() && fetchData_pmax.isEmpty(), neben dem mein Code funktioniert , Ich bin auf der Suche nach Verbesserungen während des Testens thx (Code bearbeitet) – Jay

Antwort

1

schreiben etwas ähnliches wie diese

String query_url = URL_PRODUCT + "?" + (!fetchData_country.isEmpty() ? "URL_SEARCH_COUNTRY + id_country " : "") 
      +(!fetchData_country.isEmpty() ? "&":"")+ (!fetchData_pmin.isEmpty() ? " + URL_SEARCH_PRICE_MIN + id_pmin " : "") 
      +(!fetchData_pmin.isEmpty() ? "&":"")+ (!fetchData_city.isEmpty() ? " + URL_SEARCH_CITY + id_city " : ""); 
+0

Mit ein wenig Anpassung funktioniert es gut! Danke @ user5323999, akzeptierte Antwort – Jay

+0

BTW, welche Art von Schreibstil ist das? Noch nie zuvor gesehen .. – Jay

+0

Mehrere Bedingungen in ternären Operatoren –

Verwandte Themen