| |||||||
Das Thema "ListView und SQL , komme nicht weiter" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
| 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> 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); Hat jemand eine Idee? Wenn noch Informationen benötigt werden, immer raus damit :> Lieben gruß von euphrisch :> |
| | |
| | #2 (permalink) |
| Junior Mitglied Registriert seit: 18.07.2010
Beiträge: 44
Abgegebene Danke: 0
Erhielt 5 Danke für 5 Beiträge
|
Einfach mit "theCursor.getString(1)" Also etwas: testname1.setText(theCursor.getString(0)); testname2.setText(theCursor.getString(1)); Gruß Maddi |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
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;
}
}); 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) |
| | |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 03.12.2011
Beiträge: 4
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
|
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;
}
}); |
| | |
| | #5 (permalink) |
| Junior Mitglied Registriert seit: 18.07.2010
Beiträge: 44
Abgegebene Danke: 0
Erhielt 5 Danke für 5 Beiträge
|
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); |
| | |
| Folgender Benutzer bedankt sich bei Maddi für diesen Beitrag: | euphrisch (05.12.2011) |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |