ich würd nen final Array machen mit 12 Einträgen (Januar-Dezember) und dann ((TextView)view).setText(array[ColMonat]) benutzen. Man müsste natürlich beachten dass wenn Januar in deiner DB die Nr 1 ist, das dann noch minus 1 zu rechnen, da es sonst mit dem Array nicht mehr übereinstimmt.
Beiträge von FireRider
-
-
Wenn du immer das gleiche Datumformat verwendest, dann kannst du den Text vom Button auslesen, mit Substring trennen (sollte auch irgendwie mit SimpleDateFormat gehen, aber kA wie) und dann bei mYear/mMonth/mDay angeben.
-
Doch doch, b1.setText(...) funktioniert prima
Allerdings musst du erst den Button aus dem Layout holen, sonst bekommst du ne NullpointerException weil du n leeres Objekt mit Text versehen willst.
dazu machst du zwischen Button b1; und dem setText folgendes:
b1 = (Button) findViewById(R.id.BUTTONID); -
Ich versteh jetzt gerade nicht was dein Problem ist.
Weisst du nicht wie man den Time-/Datepicker erstellt oder was? -
Du musst eine neue Activity starten:
Intent myIntent = new Intent(this,NEUEKLASSE.class);
startActivityForResult(myIntent,0);In dieser Activity definierst du das neue Layout.
-
In einer Activity kann es nur ein setContentView geben.
Da du dem Benutzer die nächste Seite zeigen willst, musst du für diese Seite eine eigene Klasse (Activity) erstellen und diese mittelsstarten. Die neue Activity musst du natürlich auch im Android Manifest deklarieren.
PS: wie schafft man Zeilenumbrüche hier im code-tag? oO
-
Ein Array würde theoretisch gehen, wenn ich die Länge wüsste.
Der Inhalt wird aber vom Benutzer erstellt, deswegen funktioniert es mit einem Array nicht. Leider... -
Dann würde das Ganze ja nicht mehr passen. Haste recht! Hab es allerdings nicht überprüft.
Am Anfang hast du:
DB:
0 1 2 3
Und die Liste:
0 1 2 3Wenn du jetzt also Nummer 2 löschen solltest, dann müsste der Durchgang danach doch so aussehen:
DB:
0 1 3 4
Und die Liste:
0 1 2 3Passt dann also nicht mehr...
Jo, das habe ich gestern Abend mal noch ausprobiert. ID war immer von 0-...
Wieso kann man dann Position und ID angeben bei onClick()? Ist ja beides das gleiche (ausser halt int und long).
Hat sonst jemand eine Idee wie man Records die vom Inhalt mehrmals vorkommen können eindeutig identifizieren kann(über die ListView)? -
Also in diesem Beispiel hast du ein Beispiel in Punkt 4.
Und der ListView sollte ja die gleichen IDs haben, wie in der Datenbank. Oder vielleicht kann man sie auch mitschicken.Hoffe es hilft.
Danke, dass man beim onItemClick die id und die position mitbekommt hab ich ganz vergessen
Die Position ist die Stelle an der angezeigten Position (z.B. 2 für dritte von oben) und die id der Identifier für den Datensatz (also so wie ein autoincrement primary key in der DB) oder?
Also auch wenn ich ein Item aus der Liste lösche, wird die ID gleich sein wie in der DB?
-
Das ist mir klar, ich habe auch eine ID für jeden Datensatz.
Momentan habe ich noch alle Datensätze in einer Tabelle, werde sie noch aufsplitten, dann werd ichs über die ID machen.
(Kann man in einer ListView den Index des angeklickten Items herausfinden? Also bei einem OnItemLongSelectedListener) -
Nimm mal anstatt "LIMIT 1" "LIMIT 0,1"
Denn bei LIMIT ist der erste "Parameter" der Startwert mit 0 als erstes Element und der zweite die Anzahl der Elemente.
Bei dir also 0 als Startwert und nur 1 ElementHoffe es klappt dann
Danke für die Antwort, aber leider klappt es immer noch nicht. Es kommt der gleiche Fehler, einfach dass steht LIMIT 0,1 anstatt nur LIMIT 1. -
Moin moin
Ich lese schon ne Weile hier mit und hab schon ein paar brauchbare Tipps lesen können.
Hab mich jetzt angemeldet, da ich ein Problem habe, für das ich noch keine Lösung gefunden habe.Und zwar möchte ich bei meiner App einen Record aus der Datenbank löschen, allerdings nur einen, denn der Record kann in der Form mehrfach vorhanden sein.
Mein Delete-Befehl sieht momentan so aus:CodemyDB.execSQL("DELETE FROM" + Noten + " WHERE fach='" + inp + "' AND note='" + ClickedItem + "';");
Ich habe versucht mit LIMIT 1 das gewünschte Ergebnis zu erzielen, also so:CodemyDB.execSQL("DELETE FROM" + Noten + " WHERE fach='" + inp + "' AND note='" + ClickedItem + " LIMIT 1';");
Jedoch hat das nicht funktioniert, da es dann zu einer SQLiteException kommt. Ich weiss leider nicht wie ich das ganze Zeugs aus der LogCat bekomme, deshalb schreib ich hier nur die betreffenden Zeilen (ohne den Stacktrace) hin:
Failure 1 (near "LIMIT" : syntax error) on 0x11d400 when preparing 'DELETE FROM Noten WHERE fach='Mathe' AND note='4.5' LIMIT 1;'.
Shutting down VM
android.database.sqlite.SQLiteException: near "LIMIT" : syntax error: DELETE FROM Noten WHERE fach='Mathe' AND note='4.5' LIMIT 1;Kann mir jemand helfen, wo mein Problem ist?
Gruss, FireRider