Leere EditTexts abfangen Leere EditTexts abfangen
Danke Danke:  0
Ergebnis 1 bis 5 von 5
  1. Hallo ihr,
    bin noch ein blutiger Anfänger in der Android-Programmierung. Einfache Hallo Welt Apps sind für mich kein Problem mehr. Wollte jetzt eine App schreiben, mit der ich einfache Sachen berechnen kann. Die Rechnung funktioniert auch alles. Allerdings möchte ich verhindern, dass EditTexts leer bleiben.
    dazu habe ich von hier http://stackoverflow.com/questions/6...ttext-is-empty folgende Funktion, welce mir ja auch soweit einleuchtet.
    Code:
    private boolean checkEmpty(EditText etText) {		if (etText.getText().toString().trim().length() > 0)
    			return true;
    		else
    			return false;
    	}
    habe diese eingebaut, sieht dann so aus:
    Code:
    	if (checkEmpty(ET_laufzeit) == true) {
    
    
    		Toast.makeText(Amortisationsrechner.this,
    				"laufzeit ausgefüllt", Toast.LENGTH_SHORT).show();				
    		gesparteEuroProTag = ((verbrauchAltesGeraet - verbrauchNeuesGeraet)
    				* laufzeit * preis) / 1000;
    		zahl = preisGeraet / (gesparteEuroProTag * 365);
    
    
    		zahl = (float) Math.round(zahl * 100) / 100;
    		TV_dauer.setText("Amortisiert in " + zahl + " Jahr(en)");
    	} else {
    		Toast.makeText(Amortisationsrechner.this,
    			"laufzeit nicht ausgefüllt", Toast.LENGTH_SHORT).show();
    	}
    wenn ich das EditText ET_laufzeit ausfülle, berechnet er das ergebnis und gibt auch die Toast-Mitteilung aus. wenn ich das feld dann aber leer lasse, wird die App angehalten.

    Aus dem Debugger werde ich leider noch nicht schlau. Die Logcat sagt mir "invalid float: """. aber ich frage mich wo das passieren soll, denn eigentlich dürfte er die rechnung doch nicht ausführen, wenn das EditText-Feld nicht ausgefüllt ist?!

    Bedanke mich schonmal für etwaige Hilfe,

    Grüße

    Ernst August!
    0
     

  2. Zeig bitte mal den ganzen Code. Woher zB. hast du die Variable laufzeit? Zudem sagt dir der Debugger, wo ​der Fehler aufgetreten ist.
    Nebenbei würde ich dir empfehlen, etwas auf deinen Stil zu achten und dir mal einen Styleguide durchzulesen. Das wird dir viel helfen.
    0
     

  3. Hi, danke für deine antwort. woher ich die variable laufzeit habe sieht man im angehängten quelltext mit dem debugger muss ich mich nochmal einfuchsen. bin da noch nicht ganz durchgestiegen. kann zwar sehen, wie das ergebnis sich ändert, wenn ich alle editTexts ausgefüllt habe. sobald ich aber "laufzeit" leer lasse, kann ich dem debugger nicht mehr folgen und finde folglich den fehler auch nicht :-/
    bzgl des stils werde ich mich mal belesen.

    Code:
    package com.test.amortisationsrechner;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class Amortisationsrechner extends Activity implements OnClickListener {
    	private Button BUTTON_berechne;
    	private EditText ET_verbrauchAltesGeraet;
    	private EditText ET_verbrauchNeuesGeraet;
    	private EditText ET_laufzeit;
    	private EditText ET_preis;
    	private EditText ET_preisGeraet;
    	private TextView TV_dauer;
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_amortisationsrechner);
    
    		BUTTON_berechne = (Button) findViewById(R.id.button1);
    		ET_verbrauchAltesGeraet = (EditText) findViewById(R.id.editText1);
    		ET_verbrauchNeuesGeraet = (EditText) findViewById(R.id.editText2);
    		ET_laufzeit = (EditText) findViewById(R.id.editText3);
    		ET_preisGeraet = (EditText) findViewById(R.id.editText4);
    		ET_preis = (EditText) findViewById(R.id.editText5);
    		TV_dauer = (TextView) findViewById(R.id.textView6);
    
    		BUTTON_berechne.setOnClickListener(this);
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		getMenuInflater().inflate(R.menu.activity_amortisationsrechner, menu);
    		return true;
    	}
    
    	@Override
    	public void onClick(View view) {
    		// TODO Auto-generated method stub
    
    		if (view == BUTTON_berechne) {
    			Float zahl = (float) 0.00;
    			Float verbrauchAltesGeraet, verbrauchNeuesGeraet, laufzeit, preis, preisGeraet, gesparteEuroProTag;
    			preis = Float.valueOf(ET_preis.getText().toString());
    			preisGeraet = Float.valueOf(ET_preisGeraet.getText().toString());
    			verbrauchAltesGeraet = Float.valueOf(ET_verbrauchAltesGeraet
    					.getText().toString());
    			verbrauchNeuesGeraet = Float.valueOf(ET_verbrauchNeuesGeraet
    					.getText().toString());
    			laufzeit = Float.valueOf(ET_laufzeit.getText().toString());
    			
    			
    			// Toast.makeText(Amortisationsrechner.this, "All Fields Required.",
    			// Toast.LENGTH_SHORT).show();
    			if (checkEmpty(ET_laufzeit) == true) {
    				Toast.makeText(Amortisationsrechner.this,
    						"laufzeit ausgefüllt", Toast.LENGTH_SHORT).show();
    				gesparteEuroProTag = ((verbrauchAltesGeraet - verbrauchNeuesGeraet)
    						* laufzeit * preis) / 1000;
    				zahl = preisGeraet / (gesparteEuroProTag * 365);
    
    				zahl = (float) Math.round(zahl * 100) / 100;
    				TV_dauer.setText("Amortisiert in " + zahl + " Jahr(en)");
    			} else {
    				Toast.makeText(Amortisationsrechner.this,
    						"laufzeit nicht ausgefüllt", Toast.LENGTH_SHORT).show();
    			}
    		}
    	}
    
    	private boolean checkEmpty(EditText etText) {
    		if (etText.getText().toString().trim().length() > 0)
    			return true;
    		else
    			return false;
    	}
    
    }

    HTML-Code:
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >
    
    
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ag_verbrauch" />
    
            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number" >
    
                <requestFocus />
            </EditText>
    
    
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ng_verbrauch" />
    
            <EditText
                android:id="@+id/editText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number" />
    
    
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/laufzeit" />
    
            <EditText
                android:id="@+id/editText3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number" />
    
    
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tv_preis" />
    
    
            <EditText
                android:id="@+id/editText4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="number" />
    
    
            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/strompreis" />
    
    
            <EditText
                android:id="@+id/editText5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal"
                android:text="0.25" />
    
    
    
            <Button
                android:id="@+id/button1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/bt_berechnen" />
    
    
    
    
    
    
    
    
            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal" />
    
        </LinearLayout>
    gru0 ernst august
    0
     

  4. Hi

    Du versuchst mit

    Code:
    laufzeit = Float.valueOf(ET_laufzeit.getText().toString());
    den text des EditTexts als float zu parsen. Wenn das leer ist, gibt ET_laufzeit.getText().toString() einen leeren String zurück, der nicht als Zahl interpretiert werden kann. Daraufhin wird dann eine NumberFormatException geworfen.

    Gruss
    0
     

  5. Danke für die Antwort und die fehlerfindung ergibt Sinn für mich und werde ich in Zukunft hoffentlich nicht so schnell noch mal machen
    Gruß
    0
     

Ähnliche Themen

  1. Leere Home-Screens löschen
    Von gretchen2306 im Forum Samsung Galaxy Tab 10.1
    Antworten: 6
    Letzter Beitrag: 17.08.2016, 14:37
  2. Leere Internetseite?
    Von mack im Forum Windows Phone 7 Allgemein
    Antworten: 7
    Letzter Beitrag: 26.08.2012, 14:59
  3. Wp8: leere versprechungen ?
    Von Dell venue pro im Forum Windows Phone 8 Allgemein
    Antworten: 6
    Letzter Beitrag: 09.07.2012, 09:24
  4. Leere Email Seite
    Von Unregistriert im Forum HTC Legend
    Antworten: 0
    Letzter Beitrag: 19.05.2010, 16:47
  5. Leere Alben löschen
    Von Unregistriert im Forum Touch HD Fun
    Antworten: 0
    Letzter Beitrag: 04.11.2009, 18:05

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

java android textedit inhalt kopieren

edittext android

android .trim

nach eingabe in edittext berechnung starten

android leeres editText abfangen

fehler in android abfangen

android fehler abfangen leeres textfeld

leere edit text abfangen android

edittext nur zahlen rechne

edittext enter taste abfragen android

abfrage von textfeldern android

android edittext to float trim

java abfrage von leeren textfeldern abfangen

edittext nicht leer

android programmierung round

enter in android textbox abfragen

android edittext leeren bei auswahl

android textview leeren

edittext android gettext falsch

samsung inflate numberformatexception

android zu lange zahl fehler abfangen

android zu lange zahl fehler abfangen

android server abfrage abfangen

Stichworte