
Ergebnis 1 bis 5 von 5
-
Bin neu hier
- 10.10.2012, 16:39
- #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; }
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(); }
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!
-
- 11.10.2012, 11:42
- #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.
-
Bin neu hier
- 12.10.2012, 20:43
- #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>
-
- 12.10.2012, 21:49
- #4
Hi
Du versuchst mit
Code:laufzeit = Float.valueOf(ET_laufzeit.getText().toString());
Gruss
-
Bin neu hier
- 13.10.2012, 05:23
- #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ß
Ähnliche Themen
-
Leere Home-Screens löschen
Von gretchen2306 im Forum Samsung Galaxy Tab 10.1Antworten: 6Letzter Beitrag: 17.08.2016, 14:37 -
Leere Internetseite?
Von mack im Forum Windows Phone 7 AllgemeinAntworten: 7Letzter Beitrag: 26.08.2012, 14:59 -
Wp8: leere versprechungen ?
Von Dell venue pro im Forum Windows Phone 8 AllgemeinAntworten: 6Letzter Beitrag: 09.07.2012, 09:24 -
Leere Email Seite
Von Unregistriert im Forum HTC LegendAntworten: 0Letzter Beitrag: 19.05.2010, 16:47 -
Leere Alben löschen
Von Unregistriert im Forum Touch HD FunAntworten: 0Letzter Beitrag: 04.11.2009, 18:05
Pixel 10 Serie mit Problemen:...