TextView Inhalt bei Berührung löschen, Excep, und zwei XML-Dateien für eine Activity?

B

Boyerkeil

Neues Mitglied
0
Hallo zusammen,


ich suche schon seit längerem in der API und mit Google nach folgenden Möglichkeiten(leider erfolglos):

Beschreibung:

-Ich habe eine Eingabe mithilfe von TextView realisiert. Es sind nur Zahlen erlaubt und die Zahl wird für eine Berechnung verwendet.

Problem:
Standardmäßig habe ich eine 0 eingesetzt, weil wenn das Feld leer ist und der User die Berechnung startet, stürzt das Programm ab. Aber die 0 stört, weil wenn der User das Feld berührt steht die 0 imme rnoch da. Wenn er z.B. 15 eingeben möchte steht dann 015 oder 150 usw. Das ist ärgerlich :(


In Java habe ich ein wenig Erfahrung, deswegen suche ich nach einen Weg folgendes zu realisieren:

- Exception einbauen, aber wie? In der API fand ich auch nichts.

-Bei Berührung des TextViews wird der Inhalt gelöscht und mann kann eine Zahl eintippen.


Zudem gibt es noch einen Boolean der zwei unterschiedliche Arten von Berechnungen ausführt. Leider ist die Ausgabe von einer Berechnung viel kürzer. Kann man innerhalb einer Activity zwei XML-Dateien als Ausgabe verwenden z.B. mithilfe einer IF-Abfrage?

Oder muss ich eine eigene Activity anlegen?


Vielen Dank schon mal für eure Antworten!

Hoffentlich hilft es dann auch noch anderen weiter ;)
 
Kann ich euch noch irgendwelche Infos geben?

Ist schon irgendwie schwierig oder? :)
 
das ist ganz einfach

du musst den wert sowieso umrechnen

meinWert = Integer.parseInt(myEditText.getText.toString());

das erweiterst du einfach um:

try {
meinWert = Integer.parseInt(myEditText.getText.toString());
}catch(NumberFormatException e) {
meinWert = 0;
//keine zahl oder keine eingabe
}
 
Ich habs versucht, aber leider habe ich dann ein Klammer-Problem.

Code:
		        // Betrag:
		    	  
		        final EditText txtBetrag = (EditText) findViewById(R.id.edt_betrag);       
		        
		        try {
		        float betrag = Float.parseFloat(txtBetrag.getText().toString());
		        }
		        catch(NumberFormatException e) {
		        float betrag = 0;
		        }

aber dann kommt der Fehler "cannot be resolved" bei Betrag.

Code:
final Intent intent = new Intent(FormularActivity.this, ErgebnisActivity.class);

intent.putExtra(BETRAG_KEY, betrag);



Hier der Ursprung:

So funktioniert der Code auch =)

Code:
		        // Betrag:
		        final EditText txtBetrag = 
		          (EditText) findViewById(R.id.edt_betrag);       
		        final float betrag = 
		          Float.parseFloat(txtBetrag.getText().toString());
 
Deine Variable ist nur innerhalb eines {} Blockes gültig wenn sie darin deklariert wird. Du musst sie ausserhalb bekannt machen.

Code:
float betrag = 0;
try {
betrag = ...
} catch (...) {}
 
Danke, hat funktioniert.

Ich habe vergessen, dass man dann die Variablen vorher deklarieren muss!
 
Ich habe die app vor ein paar Tagen veröffentlicht. Sie heisst sales calculator.

Falls sie jemand braucht oder wissen will wie die Email Funktion aussehen könnte.

Danke nochmal

Gesendet mit der Android-Hilfe.de-App
 

Ähnliche Themen

B
Antworten
4
Aufrufe
430
bb321
B
Y
Antworten
4
Aufrufe
1.187
swa00
swa00
S
Antworten
33
Aufrufe
2.540
Sempervivum
S
Zurück
Oben Unten