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

ListView und SQL , komme nicht weiter

Das Thema "ListView und SQL , komme nicht weiter" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 03.12.2011, 11:13   #1 (permalink)
Neuer Benutzer

Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard ListView und SQL , komme nicht weiter

Hii,

nun habe ich es nah 2 Tage harte Arbeit endlich geschafft, das aus meiner SQLite Datenbank etwas in einer ListView ausgelesen wird und nun sitze ich schon wieder den halben Tag, ja ganze Nacht durchgemacht daran und ich möchte, 2 Datensätze in die ListView eintragen, also auslesen. Habe mittlerweile keine Idee mehr wie ich dies bewerkstelligen könnte. Aus diesem Grund habe ich mich hier nun neu registriert und hoffe auf eure Hilfe.

list_item.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >
        <TextView
                        android:id="@+id/testname1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="12dip" />
           <TextView
            android:id="@+id/testname2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="10dip" />
    </LinearLayout>
.java

Code:
myDB = this.openOrCreateDatabase(the_sql_dbn, MODE_PRIVATE, null);
            Cursor c = myDB.rawQuery("SELECT _id,name1,name2 FROM "+the_sql_dbb_tabelle + ";", null);
        
            startManagingCursor(c);    
            getListView().setOnCreateContextMenuListener(this);
            final SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.list_item, c,new String[] { "_id"},new int[] { R.id.testname1});
                                 
            adapter.setViewBinder(new ViewBinder() {               
                @Override
            public boolean setViewValue(View view, Cursor theCursor, int column) 
            {
                final String ColNameModel = theCursor.getString(0); 
                ((TextView)view).setText(ColNameModel);
                return true;
            }
            });
            this.setListAdapter(adapter);
So im Grunde möchte ich also nur, dass name2 in die TextView testname2 auch noch eingetragen wird. Wie das allerdings funktioniert, verstehe ich momentan nicht.

Hat jemand eine Idee?

Wenn noch Informationen benötigt werden, immer raus damit :>

Lieben gruß von euphrisch :>
euphrisch ist offline   Mit Zitat antworten
Alt 05.12.2011, 10:51   #2 (permalink)
Junior Mitglied

Registriert seit: 18.07.2010
Beiträge: 44
Abgegebene Danke: 0
Erhielt 5 Danke für 5 Beiträge
Standard AW: ListView und SQL , komme nicht weiter

Einfach mit "theCursor.getString(1)"

Also etwas:

testname1.setText(theCursor.getString(0));
testname2.setText(theCursor.getString(1));

Gruß Maddi
Maddi ist offline   Mit Zitat antworten
Alt 05.12.2011, 11:08   #3 (permalink)
Neuer Benutzer

Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView und SQL , komme nicht weiter

Hi,

ja, einfach ist gut.So einfach finde ich es nicht. Aber danke du hast mich auf eine Idee gebracht. Habe es nun so probiert, aber das klappt auch nicht

Code:
    final SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.list_item, c,new String[] { "_id","name1"},new int[] { R.id.testname1, R.id.testname2});                   adapter.setViewBinder(new ViewBinder() {               
                @Override
            public boolean setViewValue(View view, Cursor theCursor, int column) {
              final String ColNameModel = theCursor.getString(0);
              final String ColNameModel_2 = theCursor.getString(1);
            ((TextView)view).setText(ColNameModel);
            ((TextView)view).setText(ColNameModel_2);
               
                return true;
            }
            });
Nun wird nur der zweite Wert also ColNameModel_2 = theCursor.getString(1); in beide TextViews R.id.testname1, R.id.testname2 eingetragen.

Ich könnte natürlich jetzt einfach den alten Code mehrmals kopieren und dann statt adapter ... adapter1 adapter2 etc verwenden aber das wäre etwas umständlich.

Wie kann man nun den Code so abändern, dass ColNameModel = theCursor.getString(0); auch in die TextView R.id.testname1 eingetragen wird?

Ne Idee?

Liebe Grüße

Geändert von euphrisch (05.12.2011 um 11:11 Uhr)
euphrisch ist offline   Mit Zitat antworten
Alt 05.12.2011, 11:45   #4 (permalink)
Neuer Benutzer

Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView und SQL , komme nicht weiter

Für alle die es noch intressiert habe es nun so gelöst:

Code:
adapter.setViewBinder(new ViewBinder() {               
                @Override
                public boolean setViewValue(View view, Cursor theCursor, int column) {
                    switch(view.getId()) {
                    case R.id.testname1:
              final String ColNameModel = theCursor.getString(0);
              ((TextView)view).setText(ColNameModel);
              return true;
                   case R.id.testname2:
                       final String ColNameModel_2 = theCursor.getString(1);
                    ((TextView)view).setText(ColNameModel_2);
                    }
                return true;
            }
            });
euphrisch ist offline   Mit Zitat antworten
Alt 05.12.2011, 11:46   #5 (permalink)
Junior Mitglied

Registriert seit: 18.07.2010
Beiträge: 44
Abgegebene Danke: 0
Erhielt 5 Danke für 5 Beiträge
Standard AW: ListView und SQL , komme nicht weiter

Hm... so würde ich es machen
myDB = this.openOrCreateDatabase(the_sql_dbn, MODE_PRIVATE, null);
Cursor c = myDB.rawQuery("SELECT name1,name2 FROM "+the_sql_dbb_tabelle + ";", null);

startManagingCursor(c);
String[] columns = new String[] {"name1", "name2" };
int[] to = new int[] { R.id.testname1, R.id.testname2};
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.list_example_entry, c, columns, to);
this.setListAdapter(mAdapter);
Maddi ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei Maddi für diesen Beitrag:
euphrisch (05.12.2011)
Alt 05.12.2011, 11:52   #6 (permalink)
Neuer Benutzer

Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: ListView und SQL , komme nicht weiter

Super, der Code ist viel kompakter, weiß auch nicht warum ich es so kompliziert geschrieben habe. Ich danke dir
euphrisch ist offline   Mit Zitat antworten
Antwort

Stichworte
auslesen, listview, sql

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
BackStab HD - Komme nicht weiter Stoan Android Spiele 6 20.10.2011 20:06
SQL-Daten in Listview mit Titel anzeigen Gibbsnich Android App Entwicklung 0 07.07.2011 17:34
Wildfire mit S-Off und Root: komme nicht weiter! emils1988 Root / Hacking / Modding für HTC Wildfire 3 09.06.2011 18:08
komme nicht weiter icefly_mz Root / Hacking / Modding für HTC Magic 4 20.05.2010 23:09
SQL Lite Datenbank + ListView pgnonick Android App Entwicklung 26 28.08.2009 13:14




Du liest gerade: "ListView und SQL , komme nicht weiter" 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.