Beiträge von DerDon

    Hey, sorry dass ich ne Zeit nicht geantwortet habe.


    Ich habs jetzt ein wenig anders hinbekommen, also ohne Textwatcher für die Uhrzeit, aber mit Textwatcher für die Differenz
    Das ganze steht soweit


    jetzt nur noch zwei Sachen
    1) Ich will, dass man ein Datum wählen kann und dann die Tabelle bekommt, die man an dem Tag eingetragen hat (also auf Auswahl des Datums soll die Tabelle die an diesem Tag erstellt wurde erscheinen)
    Alternativ reicht auch, wenn man z.B. freitags die Tabelle von Montags nochmal aufrufen könnte
    2) Möchte ich die Daten aus der Tabelle gerne speichern (lokal, oder gar in einer Datenbank)


    ich denke mal, 1) und 2) müssen zusammen, oder?


    Meinen Code lade ich heute Abend mal hoch


    MfG


    DerDon

    ich meine, wenn ich im else dem txt3 einen Wert zuweise, dann geht er nicht zu


    Java
    if (hours>=0 && hours<=23)
                    {
                        return;
                    }
                    else
                    {
                        txt3.setText("");
                        Toast.makeText(ze.getApplicationContext(), "Wrong", Toast.LENGTH_LONG).show();


    wie es die if-Schleife eigentlich vorsieht, sondern springt immer wieder zurück zu

    Java
    if (txt1.getText().toString().equals("") &&
                    txt2.getText().toString().equals("") &&
                    txt3.getText().toString().equals("") &&
                    txt4.getText().toString().equals("") &&
                    txt5.getText().toString().equals("") &&
                    txt6.getText().toString().equals("") &&
                    txt7.getText().toString().equals(""))


    und von daraus wieder zu


    Java
    }
            else{
                txt3.setText("17:45");
                String str1 = txt3.getText().toString();
                String str2 = txt4.getText().toString();



    alles klar, danke schonmal vielmals

    jap, weil er die 1 noch für


    String part1 = parts[0];


    erkennt, aber halt nichts mehr hat für


    String part2 = parts[1];


    ich hab mal

    Java
    else{
                txt3.setText("17:45");
                String str1 = txt3.getText().toString();
                String str2 = txt4.getText().toString();


    gesetzt, und dann springt er immer von txt3.setText("17:45"); zurück zu


    Java
    if (txt1.getText().toString().equals("") &&
                    txt2.getText().toString().equals("") &&
                    txt3.getText().toString().equals("") &&
                    txt4.getText().toString().equals("") &&
                    txt5.getText().toString().equals("") &&
                    txt6.getText().toString().equals("") &&
                    txt7.getText().toString().equals(""))

    also in einer dauernden Schleife

    MainActivity



    NewRowTextWatcher tw


    Der Rest ist wie gehabt

    so was steht nun in dem String "String str = txt3.getText().toString();" ist es das was du eingegeben hast?

    da ich im Debug Mode war, konnte ich nichts eingeben
    jedoch hatte ich beim Starten auf "1" gedrückt, und das hatte er wohl gespeichert
    wie man im Debug Mode Werte eingibt, da les ich mich noch durch
    Im normalen Modus crasht die App, sobald ich was ins Feld txt3 eingeben will

    hab jetzt mal spaßeshalber den TimeFormat-Part mit in den NewRowWatcher gepackt ala



    Resultat beim Debuggen

    ja, ich befürchte fast, dass ich da nie hinkomme :D


    wo kann denn hier der Wurm sein?

    Die Grundidee ist Folgende:


    Ein Arbeiter kriegt ein Tablet mit der App in die Hand gedrückt und soll über den Tag verteilt seine bearbeiteten Aufträge mit Maschinentyp, Start- und Endzeit und Kommentaren angeben.
    Am Ende speichert er alles und sendet seine Daten an die Datenbank.
    Nun will ich halt, dass er keinen Unsinn in die Zeitspalten eintragen kann


    Ich hab gerade mal getestet, es liegt definitiv an



    ich habe dazu die Einträge, die eine neue Zeile einbringen, mal rausgenommen, sodass in der MainActivity nur noch stand

    "cannot resolve symbol context"


    Ich verstehe ehrlich gesagt nur Bahnhof
    Das passiert halt, wenn man eine Java Aufgabe jemandem wie mir gibt, der seinen Lebtag nie mit Java zu tun hatte


    Gibt es eine Möglichkeit, alle geforderten Funktionen nur in der MainActivity.java zu definieren?
    Weil ich glaube, je mehr Klassen ich aufstelle ( Time24hFormatValidator,newRowTextWatcher usw.) desto schlimmer wird es

    Hier einmal alle Codes


    mit dabei ist auch eine Funktion Sum (die allerdings die Differenz bilden soll :D), die prüft, ob txt3 und txt4 gefüllt, txt5 aber leer ist
    ist dies der Fall, soll in txt5 die Zeitdifferenz als Dezimalzeit eingetragen werden


    cellshape.xml für den Rahmen


    activity.main


    main.java
    Textwatcher, der die Zeile hinzufügt
    Textwatcher, der das Zeitformat prüfen soll
    Textwatcher, der für die Differenz sorgen soll

    Zeige mal deine newRowTextWatcher Klasse Methode oder was das ist.
    Mal was anderes du willst doch bestimmt auch deine Daten Speichen und vielleicht später wieder anzeigen. Wie hast du dir das gedacht? Denn das ist ja alles nur solange gültig wie die app läuft beim beenden ist alles weg.

    Das möchte ich definitiv, am liebsten einmal lokal und später dann in einer Datenbank


    Wie ich das mache, weiß ich leider nicht
    Ich lade heute Abend alles aus der App hoch
    Ich danke dir/Ihnen auf jeden Fall jetzt schon vielmals für die Hilfe :)