Aller Anfang ist schwer

  • Hallo liebe Android-Entwickler-Gemeinde


    Ich spiele schon länger mit dem Gedanken mir eine ganz einfache App zu programmieren. Jetzt ab ich es einfach mal angefangen und stoße da schon auf die ersten Probleme.
    Ich habe mir eclipse und die Android-SDK geladen und habe auch schon folgendes Tutorial erfolgreich absolviert: http://www.vogella.de/articles/Android/article.html


    Leider wird in dem Tutorial auf den Quellcode der dort zu ersetzen ist nicht weiter eingegangen. Ich trau mir zu behaupten das ich den Großteil des codes verstehe und wollte anfangen etwas eigenes zu programmieren.
    Hier scheitere ich aber an Fehlermeldungen wo ich keine Lösungsansätze finde.


    Ich möchte, nur um zu lernen, einen Prozentrechner programmieren, ganz was einfaches also. 2 Eingabefelder einen Button und ein Ausgabefeld.
    Die Sachen habe ich schon in meiner main.xml drin, wo ich Schwierigkeiten habe ist die Berechnung an sich. Hier habe ich eben noch Fragen die ich mit eurer Hilfe sicherlich bentwortet bekomme.


    Wenn es recht ist poste ich hier mal meinen bisherigen Quelltext der rechnen.java



    Bei der Zeile editText3 = gwert*psatz/100; sagt er mir das * ein undefinierter Operator ist.
    Ich weis das meine Variablennamen einen "sprechenden" Titel haben sollten, aber zum probieren dachte ich mir reicht das erstmal so.


    Hier meine main.xml



    und hier meine strings.xml



    Wie erreiche ich denn nun das ich zwei Werte eingebe und mir bei Knopfdruck das Ergebnis in einem anderen Textfeld oder Textview ausgegeben wird?


    Liebe Grüße
    Maik

  • du kannst nicht zwei variablen vom Typ EditText multiplizieren.


    um da eine Zahl draus zu machen müsstest du anstatt nochmal einen EditText anzulegen,

    Code
    EditText psatz; 
    psatz = editText1;
    EditText gwert; 
    gwert = editText2;


    lieber ein float/double anlegen in dem du dir den Inhalt über getText() holst:

    Code
    float gwert = Float.parseFloat(editText2.getText().toString());
    float psatz = Float.parseFloat(editText1.getText().toString());


    Du holst dir also der Text aus dem Feld und wandelst ihn in einen String um damit du das ganze in ein Float umwandeln kannst (etwas umständlich aber parseFloat erwartet nunmal einen String)


    Um das Ergebnis dann in den dritten EditText zu schreiben musst du anstatt

    Code
    editText3 = gwert*psatz/100;


    mit setText() arbeiten

    Code
    String ergebnis = Float.toString(gwert*psatz/100);
    editText.setText(ergebnis);


    warum ein String? weil setText eine CharSequence (String geht also auch) erwartet und bei einem Float rumpöbeln würde.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!