Rechnen mit zwei EditText-Eingaben

  • 1 Antworten
  • Letztes Antwortdatum
L

likedue

Ambitioniertes Mitglied
1
Hey Leute,

ich sitze gerade an einer App bei der ich drei Eingaben habe.

Zum einen eine reine Kommentareingabe, zum anderen aber zwei Decimal-Eingaben, die mir etwas im Wege stehen.

Folgendes Problem:

Ich möchte es mir offen lassen, ob ich in einen der beiden EditTexten eine Zahl eingebe oder auch nicht.

Wenn ich jedoch lediglich etwas in das erste Feld eingebe, soll dieser Wert unverändert übergeben werden.
Gebe ich etwas in das zweite Feld ein, so soll es vom ersten abgezogen werden und übergeben werden.
Trage ich lediglich im zweiten Feld etwas ein, soll der entsprechende negative Wert übergeben werden.

Soweit, so gut...

Ich habe die Eingabe-Felder jeweils über setText mit "0" gefüllt, wodurch die App bei keiner Angabe nicht abstürzt, was aber doch sehr lästig ist, wenn man etwas eintragen möchte, da die "0" schon im Wege ist.

Gibt es eine Möglichkeit die "sichtbare 0" zu umgehen und bei keiner Eingabe in die Edittexte nichts desto trotz mein Vorhaben zu realisieren?



Ich habe dies hier in meinem Dilettantentum mal zusammengefuckelt, was in etwa mein Vorhaben darstellen soll.
So lief das aber nie.
Code:
			String txtHilf = "";
			int a,b,c = 0;

			// empty entry first instance
			if(ersteEingabe.getText().equals(""))
	        {
	            new AlertDialog.Builder(NewEingabeActivity.this)
	            .setIcon(android.R.drawable.ic_dialog_info)
	            .setTitle(R.string.help)
	            .setMessage(R.string.help_content1)
	            .setPositiveButton(R.string.ok, null)
	            .show();        
	        }				
	        else
	        {
				 a = Integer.valueOf(ersteEingabe.getText().
                              toString());
	        }
	        if(zweiteEingabe.getText().equals("") )
	        {                                             
				txtHilf = String.valueOf(a);
	        }
	        else
	        {
	        	b = Integer.valueOf(zweiteEingabe.getText().toString());
	        	c = a-b;
				txtHilf = String.valueOf(c);
	        }

Danke euch und Gruß
Chris
 
Teste doch einfach bei dem 2ten Editfeld auf die Länge der Eingabe. Falls 0 also leer benutzt du intern den wert 0 zum rechnen. Ebenfalls solltest du mit try catch das Umwandeln nach Integer absichern. Böse Menschen geben statt . auch schon mal ein Komma an und dann gibt es Fehler.



Gesendet von meinem Nexus 7 mit Tapatalk 2
 
Zurück
Oben Unten