1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Aus Textfeldern/Nummerfeldern auslesen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Angehender, 28.09.2011.

  1. Angehender, 28.09.2011 #1
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Moin,

    ich versuche mich zur Zeit als Übung an einer "einfachen" App.
    Diese soll 3 Felder haben, wenn man in eines dieser Felder eine Zahl einträgt, dann sollen die anderen beiden automatisch ausgerechnet werden, nachdem der Button rechnen gedrückt wurde.

    Nun zu meinen Fragen:
    1) Wie kann ich aus einem einzelnen Feld etwas auslesen? Habe es über die ID und verschiedene andere Methoden versucht, aber irgendwas mache ich falsch.
    2) Die Rechenoperationen würden dann doch auch über eine Abfrage stattfinden, welches Feld ausgefüllt ist?! Das funktioniert ebenfalls über die ID?!
    3) Funktioniert das (also 1 und 2) allein über das Javascript oder müssen auch in HTML Funktionen/Befehle eingeführt werden und wenn ja welche und warum?!

    In der API und im Internet habe ich zwar n paar Sachen gefunden, aber auch damit habe ich es nicht hinbekommen, dass wenigstens die Felder ausgelesen werden. Nichtmal der alert wurde in der function ausgelöst :(

    Falls ihr noch weitere Infos braucht einfach melden :)
    und shconmal vielen Dank für eure Bemühungen :)
     
  2. swordi, 28.09.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    Declaring Layout | Android Developers

    genau da steht alles was du brauchst

    btw: android app entwicklung hat weder was mit HTML zu tun noch mit JavaScript. Glaub du bist da komplett auf dem Holzweg.
     
    Angehender bedankt sich.
  3. Angehender, 28.09.2011 #3
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Also entweder hab ich mich komplett verlesen oder es falsch verstanden.
    Aber ist Sencha Touch nicht ein Framework, um mit Javascript und Html Apps zu entwerfen?

    Sorry falls die Frage blöd ist, arbeite noch nicht so lange damit.
     
  4. swordi, 28.09.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    und woher sollte man wissen, dass du mit so einem framework arbeitest?

    hier gibt einfach keine hellseher. ist wohl ein weit verbreiteter irrglaube :D
     
  5. Angehender, 28.09.2011 #5
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Da hast du Recht, sorry hab ich nicht bedacht.
    Aber die Erklärung im Bezug auf Sencha Touch stimmt so ungefähr oder?^^
    Und der Link ist auch nützlich, wenn ich mit Sencha Touch arbeite?!
     
  6. Angehender, 28.09.2011 #6
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    So habe nun rausgefunden wie ich zwar ein textfeld auslesen kann, hab aber keine Ahnung wie ich der Html sage, dass sie das auf den Panel in der js-Datei anwenden soll :(

    Wenn ich das Versuche kommt der gewünschte alert mit der Meldung: "[object Html Collection]" kann mir jemand einen Tipp geben? Probiere schon ewig dran rum aber funzt einfach nicht so wie ich das möcht -.-'

    die Html:

    HTML:
    <!DOCTYPE html> 
    <html> 
        <head> 
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
            <title>Werkstattrechner</title>
    
            <link href="touch/resources/css/sencha-touch.css" rel="stylesheet" type="text/css" /> 
            <script type="text/javascript" src="touch/sencha-touch.js"></script> 
            <script src="app.js" type="text/javascript"></script>
        </head> 
        <body>
        <div>
        <form action="">
        <input type="text" name="aw" id="Aw" />
        <input type="submit" value="rechnen" onclick="alert(document.getElementById('aw').value)" />
        </form>
        </div>
        </body> 
    </html>
    und hier die js:
    Code:
    Ext.setup({
        tabletStartupScreen: 'tablet_startup.png',
        phoneStartupScreen: 'phone_startup.png',
        icon: 'icon.png',
        glossOnIcon: false,
    
        onReady: function () {
    
            var rechnen = function (btn, evt) {
                Ext.getCmp('Aw').getValue(alert(Aw));
            }
    
            var form = new Ext.form.FormPanel({
                fullscreen: true,
                dockedItems: [],
                items: [
                    {
                        xtype: 'numberfield',
                        name: 'aw',
                        label: 'AW',
                        id: 'Aw',
                        allowBlank: false,
                        allowDecimals: false,
                        allowNegative: false,
                        maxLength: 3,
                        maxValue: 998,
                        minLength: 1,
                        minValue: 1
                    },
                    {
                        xtype: 'numberfield',
                        name: 'ze',
                        label: 'ZE',
                        id: 'Ze'
                    },
                    {
                        xtype: 'numberfield',
                        name: 'minutes',
                        label: 'Minuten',
                        id: 'Min'
                    },
                    {
                        xtype: 'button',
                        text: 'rechnen',
                        id: 'rechnen',
                        handler: rechnen
                    }
                ]
            });
        }
    });
    Danke schonmal :)
    und bin auch sonst für jeden Tipp dankbar :)
     
  7. swordi, 28.09.2011 #7
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ich glaube mit solchen frameworks haben die leute hier weniger erfahrung, deshalb wirds nicht all zu viele antworten geben :)
     
  8. Angehender, 28.09.2011 #8
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Hmm,
    versuche es mir selber zu erarbeiten, aber komme im Moment leider kaum voran.
    Hatte eigentlich gedacht, dass es hier User gibt, die mit Sencha Touch arbeiten.

    Sollte ich auf etwas anderes umsteigen, das mehr Resonanz hat?
    Und wenn ja könntest du mir dann etwas empfehlen?

    Danke schonmal
     
  9. Angehender, 28.09.2011 #9
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Habe es gelöst bekommen :)

    Ext.getCmp().getValue()
    Mit diesem Befehl kann man Text- und auch Nummerfelder auslesen.
    In der Html musste nichts verändert werden.

    Der komplette Code sieht wie folgt aus:

    Code:
    Ext.setup({
        tabletStartupScreen: 'tablet_startup.png',
        phoneStartupScreen: 'phone_startup.png',
        icon: 'icon.png',
        glossOnIcon: false,
    
        onReady: function () {
    
            rechnen = function (btn, evt) {
                var valAw = parseInt(Ext.getCmp("Aw").getValue());
                var valZe = parseInt(Ext.getCmp("Ze").getValue());
                var valMin = parseInt(Ext.getCmp("Min").getValue());
                if (valAw == 0 && valZe == 0 && valMin == 0) {
                    alert("all is nothing");
                }
    
                if (Ext.getCmp("Aw").getValue() == "" && Ext.getCmp("Ze").getValue() == "" && Ext.getCmp("Min").getValue() == "") {
                    alert("You have to enter a number");
                }
    
                if (valAw >= 1) {
                    valMin = (valAw * 300 / 60);
                    valZe = (valMin * 16 / 10);
                    valMin.toString();
                    valZe.toString();
                    Ext.getCmp("Min").setValue(valMin);
                    Ext.getCmp("Ze").setValue(valZe);
                    alert("blubb");
                }
            }
    
            var form = new Ext.form.FormPanel({
                fullscreen: true,
                dockedItems: [],
                items: [
                    {
                        xtype: 'numberfield',
                        name: 'aw',
                        label: 'AW',
                        id: 'Aw',
                        allowBlank: false,
                        allowDecimals: false,
                        allowNegative: false,
                        maxLength: 3,
                        maxValue: 998,
                        minLength: 1,
                        minValue: 1
                    },
                    {
                        xtype: 'numberfield',
                        name: 'ze',
                        label: 'ZE',
                        id: 'Ze'
                    },
                    {
                        xtype: 'numberfield',
                        name: 'minutes',
                        label: 'Minuten',
                        id: 'Min'
                    },
                    {
                        xtype: 'button',
                        text: 'rechnen',
                        id: 'rechnen',
                        handler: rechnen
                    }
                ]
            });
        }
    });
    
    Ist noch nicht ganz fertig, aber das Auslesen funzt :)

    Und vielen Dank für die Hilfe

    Thread kann geschlossen werden
     
  10. swordi, 29.09.2011 #10
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    tja umsteigen, ganz klar.

    wenn du dir hier hilfe erhoffst, dann mach deine apps mit java. wie (fast) jeder :)
     
    Angehender bedankt sich.
  11. Angehender, 29.09.2011 #11
    Angehender

    Angehender Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    16.08.2011
    Alles klar,

    werde meine nächste App dann mal so probieren.
    Danke!
     

Diese Seite empfehlen