Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Datenbank Listview mit Checkbox

Das Thema "Datenbank Listview mit Checkbox" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 16.11.2011, 22:49   #1 (permalink)
Neuer Benutzer

Registriert seit: 16.11.2011
Beiträge: 4
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Frage Datenbank Listview mit Checkbox

Hi,

ich bin blutiger Anfänger was Programmieren und insbesondere Android-Programmierung betrifft. Habe durch viel Lesen, probieren usw. schon einiges zum laufen gebracht. Nur leider hänge ich nun seit Tagen an einem Problem und weis einfach nicht mehr weiter.

Und zwar habe ich eine Datenbank mit mehreren Spalten. Diese Datenbank möchte ich in einer Liste ausgeben. Hierzu habe ich ein Layout mit einer ListView und ein Layout für die Zeilen in der ListView erstellt. Das Zeilen Layout enthält eine Checkbox und zwei Textview.

Nach ewigem rumprobieren habe ich es endlich geschafft das meine Datenbankeinträge in der Liste korrekt angezeigt werden.
Hierzu verwende ich folgenden Code:

PHP-Code:
Cursor c datenbank.rawQuery("SELECT _id, name, sort FROM " database_table ";"null);
startManagingCursor(c);
        
        
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.list_row,c,new String[] { "_id""name""sort" }, new int[] { 
R.id.ListRowText1R.id.ListRowText2 });
        

        
adapter.setViewBinder(new ViewBinder() {
            @
Override
            
public boolean setViewValue(View viewCursor theCursorint columnname) {
                    switch(
view.getId()) {
                    case 
R.id.ListRowText1:
                        final 
String ColumnName theCursor.getString(1);
                        ((
TextView)view).setText(ColumnName);
                        return 
true;
                    case 
R.id.ListRowText2:
                        final 
String ColumnAge theCursor.getString(2);
                        ((
TextView)view).setText(ColumnAge);
                        return 
true;
                    }
                
            return 
false;
            }
            
        });
        
setListAdapter(adapter); 
Das funktioniert wie gesagt super. Nun sieht mein Zeilenlayout folgendermaßen aus: Checkbox - Textview - Textview.
Beide Textviews werden durch den obigen Code erfolgreich "gefüllt".

Mein Problem ist nun, wie schaffe ich es, das wenn ich die Checkbox anklicke, eine Aktion ausgeführt wird.
Gedacht habe ich mir, das beim checken der Checkbox automatisch die Zahl 1 in meine Datenbankspalte Status geschrieben wird. Wird die Checkbox ungecheckt wird 0 reingeschrieben.

Habe bereits sehr viele Tutorials durchgesucht allerdings war nie was passendes dabei. Alle Beispiele die mein Problem behandeln, waren mit Arrays anstatt mit einer Datenbank oder nicht passend genug. Kennt einer ein Tutorial oder kann mir ein Codebeispiel schreiben wie ich mein Problem am besten Lösen kann? Bitte so einfach wie möglich erklären, da ich ganz neu im Bereich Programmieren bin :-)

Vielen Dank schonmal für eure Hilfe

Gruß
pieradnHero ist offline   Mit Zitat antworten
Alt 17.11.2011, 07:29   #2 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Datenbank Listview mit Checkbox

Also ich persönlich ziehe es vor, eine eigene Adapter-Klasse zu schreiben, welche ich von ArrayAdapter ableite.

Darin wird getView() überschrieben, um die entsprechenden Views mit Daten zu füllen (in deinem Fall die CheckBox und die beiden TextViews). Auch kann man hier Listener registrieren, wie z.B. ein OnFocusChange auf nen EditText oder in deinem Fall ein OnCheckedChangeListener auf die CheckBox und entsprechend darauf reagieren.

Die Daten lese ich dann vom Cursor in eine ArrayList, kann den Cursor schließen und hab alle Daten immer in meiner ArrayList verfügbar.

Zu meinem Array-Adapter erstelle ich mir immer noch eine Datenklasse, die ich übergebe. Somit kann ich immer auf meine Methoden zugreifen, um Werte zu lesen oder zu speichern.

Alles in allem recht einfach, wenn man es ein paar mal gemacht hat
Tom299 ist offline   Mit Zitat antworten
Alt 17.11.2011, 20:10   #3 (permalink)
Neuer Benutzer

Registriert seit: 16.11.2011
Beiträge: 4
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Datenbank Listview mit Checkbox

Gibts da evtl. ein gutes Tutorial oder ein Beispiel was dieses Adapter selber schreiben erklärt?

Hab schon öfters gelesen das man mit einer eigenen Adapterklasse mehr erfolg hat, nur leider sind dafür meine Kenntnisse wohl noch etwas zu wenig :-)
pieradnHero ist offline   Mit Zitat antworten
Alt 17.11.2011, 20:26   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Datenbank Listview mit Checkbox

einfach bei google nach custom adapter suchen. dazu gibts genug
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
ListView mit mehreren Zeilen und Checkbox TanaH Android App Entwicklung 4 13.04.2011 15:42
ListView (ImageView + TextView + Checkbox) mr.freeze Android App Entwicklung 0 15.02.2011 13:23
Click Event auf Listview Datenbank Chris92 Android App Entwicklung 24 20.12.2010 12:29
Listview Checkbox, Button derdiedas Android App Entwicklung 0 28.04.2010 23:32
SQL Lite Datenbank + ListView pgnonick Android App Entwicklung 26 28.08.2009 13:14




Du liest gerade: "Datenbank Listview mit Checkbox" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.