NULL Werte in Array zählen

P

Parg

App-Anbieter (kostenlos)
162
Hallo,

nach meinem Verständnis von Java müsste ich wissen wie es geht, aber ich komme nicht weiter.

Ich habe einen AlertDialog mit 4 Edittext-Feldern. Diese werden auf Knopfdruck eingelesen und in ein String Array gespeichert. Dieses Array durchlaufe ich und zähle dabei null-Werte. Das heißt: Wenn der User beim Dialog einen Edittext frei lässt müsste ja ein Null-Wert ins Array geschrieben werden, oder? Das Problem ist, dass egal nach was ich das Array durchsuche (null, "", " ") nicht "gefunden" wird.

Weiß jemand von euch, was da genau in dem Array abgespeichert wird wenn das Edittext Feld frei bleibt?

Code:
@Override
					public void onClick(DialogInterface dialog, int whichButton) {

						Editable value1 = input1.getText();
						Editable value2 = input2.getText();
						Editable value3 = input3.getText();
						Editable value4 = input4.getText();

						String driverName = value1.toString();
						String driverName1 = value2.toString();
						String driverName2 = value3.toString();
						String driverName3 = value4.toString();

						driversArray4[0] = driverName;
						driversArray4[1] = driverName1;
						driversArray4[2] = driverName2;
						driversArray4[3] = driverName3;

						modifyTextView(textView_yE_driver_code, ""
								+ checkArrayforDriverAmount(driversArray4));

Code:
/*
	 * Counts and returns registered drivers in the array
	 */
	private int checkArrayforDriverAmount(String[] array) {

		int nullValues = 0;
		;

		for (int i = 0; i < array.length; i++) {
		    if (array[i] == "")
		    nullValues++;
		}

		return array.length - nullValues;

	}

Egal was im Array steht, "nullValues" wird nie erhöht.
 
Zuletzt bearbeitet:
Hi,

probier mal

Code:
array[i].equals("")
oder
Code:
array[i].length() == 0

anstatt array == ""
 
Was im EditText ohne Usereingabe drinsteht, hängt wohl davon ab, wie Du es instanziert hast. Also entweder null oder leerer String.

Dein if prüft nur auf leeren String, da fehlt eben auch auf null zu prüfen.

Code:
if (array[i] == null || array[i].isEmpty() ) {
                nullValues++;
            }

Wenn das hier nicht klappt solltest Du das Ganze in deiner IDE debuggen, oder halt einfach mal davor ein System.out setzen und dir den Inhalt des Arrays ausgeben lassen.
Dann siehst du ja, was da drinsteckt.
 
  • Danke
Reaktionen: Parg
isEmpty()......

Oh man, das hab ich schon 100 mal verwendet und hier ist es mir nicht eingefallen. Vielen Dank, nun klappt es wie es soll :thumbsup:
 

Ähnliche Themen

R
Antworten
6
Aufrufe
1.016
swa00
swa00
R
  • RalfKahl
Antworten
10
Aufrufe
306
RalfKahl
R
5
Antworten
22
Aufrufe
1.423
590239
5
Zurück
Oben Unten