Leerzeichen in EditText abfragen

  • Antworten:4
  • OffenNicht stickyNicht beantwortet

17.02.2013 14:27:48

Hallo,

ich bin ganz neu beim Programmieren. Ich bin gerade dabei ein obligatorische Hallo Welt App zu schreiben und spiele ein bisschen mit den Möglichkeiten.
Ich habe ein EditText-Feld, in das der Vor- und Nachname mit Leerzeichen getrennt eingetragen werden soll. Vor- und Nachname sollen jeweils mindestens ein Zeichen lang sein, diese Abfrage hab ich so aus einem Buch übernommen:
1input.addTextChangedListener(new TextWatcher() {
2 public void onTextChanged(CharSequence s, int start,int before,int count) {
3
4 }
5
6 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
7
8 }
9
10 public void afterTextChanged(Editable s) {
11 button.setEnabled(s.length() > 0);
12 }
13 });
14 button.setEnabled(false);

Wie kann ich zusätzlich abfragen, ob zwischen Vor- und Nachname ein Leerzeichen ist und keines am Anfang oder Ende?

Danke schonmal,
Parks

17.02.2013 15:12:30

Hi!

Hol Dir doch den String aus dem EditText, mach ein .trim() und dann indexOf(' '):

1String text = " Hans Mustermann ";
2String getrimmt = text.trim();
3System.out.println(getrimmt);
4System.out.println(getrimmt.indexOf(' '));

Unschön daran ist das mehrere Leerzeichen zwischen dem Vor- und Nachnamen erhalten bleiben.

17.02.2013 15:21:13

Hey Parks,

Du könntest z.B. eine Regular Expression verwenden, z.B.: diese hier: ^\w+\s\w+
Testen kannst Du regexps, z.B. hier: http://regexpal.com/

Kleiner Tipp aus meiner Erfahrung:
Aus Nutzersicht ist ein Eingabefeld mit der Bezeichnung 'Name', welches dann einen Vor- und Nachnamen mit einer bestimmten Formatierung z.B: "VornameWhitespaceNachname" voraussetzt suboptimal und teilweise auch verwirrend. Habe da schon Nutzeranalyse-Videos von Nutzern aus Ländern gesehen, in denen Mittelnamen oder auch ganz andere 'Namenskonstrukte' geläufig sind. Hier hast du dann z.B. eine um x% höhere Drop-out-Rate z.B. bei einer einfachen Nutzererstellung im Vergleich zu anderen Ländern.
Ist immer besser zu trennen in: ein Feld für den Vor- und eines für den Nachnamen. Ist dann auch einfacher für Dich, muss nur noch überprüfen: "steht da was drin"?

Gruß
Paul

18.02.2013 23:52:56

Das Konzept ist fehlerhaft und wird durch manigfaltige Lösungsansätze nicht besser.

Was wenn der User "Dr. Hans Jürgen Müller von Lüdenscheidt" heisst?
Hat der dann verloren und darf deine App nicht benutzen?