1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. praesi09, 17.01.2012 #1
    praesi09

    praesi09 Threadstarter Neuer Benutzer

    Hey Leute,

    ich versuche gerade aus einer Datenbank die Daten in einem ListView darzustellen. Das funktioniert auch schon ganz gut. Im Allgemeinen geht es darum, dass Namen von Galerien ausgelesen und angezeigt werden. Bei einem Klick auf die Galerie (habe dazu onClickListener verwendet) soll die GalerieID (steht auch in der DB und wird mit ausgelesen) einer anderen Activity übergeben werden.


    Code:
    private void ladeDaten() {
                Cursor klassenCursor = mDatenbank.query(
                        "galerie",            // Tabellenname
                        new String[] {         // anzuzeigende Spalten
                                "_id",
                                "name",
                                "galid"
                        }, 
                        "galid=(SELECT galerieid from kundegalerie where kundenid=="+userid+")",               
                        null,               
                        null,                 
                        null,                
                        "name"               
                    );
                startManagingCursor(klassenCursor);
                
                SimpleCursorAdapter klassenAdapter =
                    new SimpleCursorAdapter(this, 
                            android.R.layout.simple_list_item_2, 
                            klassenCursor, 
                            new String[] {"_id"},
                            new int[] {
                                android.R.id.text1
                            }
                    );
                klassenAdapter.setViewBinder(new ViewBinder() {
                    
                    public boolean setViewValue(View view, Cursor theCursor, int column) {
                       
                        String Galeriename = theCursor.getString(1); //Name
                        putextra = theCursor.getString(2); //GALERIEID
                       
                        ((TextView)view).setText(Galeriename);
                        
                         
                         view.setOnClickListener(new View.OnClickListener() {
                            public void onClick(View v){
                                Intent in = new Intent(Galerie.this,Galerie2.class);
                                in.putExtra("galid", putextra);
                                startActivity(in);
                            }
                        });
    
                        return true;
                    }
                });
                
                
    
                
                setListAdapter(klassenAdapter);
            }
    wenn nur eine Galerie vorhanden ist, dann funktioniert das auch schon ganz gut. Werden allerdings 2 oder mehr Galerien angezeigt und man klickt nicht auf die letzte, dann wird die falsche ID (nämlich die von der letzten angezeigte Galerie, also vom letzten ausgelesenen Datensatz) übergeben.

    Wie könnte ich denn das Problem lösen. Habe schon ein paar Dinge versucht, doch leider bekomme ich keine ordentliche Lösung hierfür.

    Könnt ihr mir hier ein paar Tipps geben? Wäre super.
     
  2. Micka, 18.01.2012 #2
    Micka

    Micka Erfahrener Benutzer

    Schonmal an ein Contextmenu gedacht? Damit gehts auch zoemlich einfach. Ich hab hier in App Entwicklung auch ein Post NullPointerException...an einem meiner Beiträge hängt mein gesamtes Projekt. In der EinträgeAnzeigenActivity hab ich gleiches wie du versuchst über ein ContextMenu gelöst. Vielleicht hilft dir das ja weiter.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Wandernder Text Android App Entwicklung Dienstag um 11:49 Uhr
[OFFEN] Übereinstimmung Spracherkennung Datenbank finden Android App Entwicklung 13.10.2017
[OFFEN] Lists-in-List-Problem Android App Entwicklung 12.10.2017
[OFFEN] Komplette SQLite Datenbank verschlüsseln Android App Entwicklung 19.09.2017
[OFFEN] SQLITE insert gibt negative id zurück Android App Entwicklung 18.09.2017
[GESCHLOSSEN] Random ListItem ausgeben funktioniert nicht mehr Android App Entwicklung 13.08.2017
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] put in HashMap bringt App zum abstürzen Android App Entwicklung 22.05.2017
Du betrachtest das Thema "Problem mit ListView und SQLite Datenbank" im Forum "Android App Entwicklung",