Hilfe ListView <-> SimpleCursorAdapter

S

Straightflush

Neues Mitglied
0
Hi! Ich bin relativ neu in der Android-Programmierung und hänge gerade seit Stunden an eigentlich relativ wenig Code...

Ich will schlicht und einfach ein ListView mit dem Inhalt aus der Datenbank füllen.
Meine App stürzt allerding immer ab, hab langsam keine Ahnung mehr woran es liegen könnte. Hoffe ihr könnte mir ein klein wenig helfen! Schonmal danke im vorraus! Ich drehe hier gleich noch durch :angry:


- Es ist eine Spalte "_id" vorhanden
- Die Datenbank ist da und hat die entsprechenden Einträge
- cursor.getCount() sagt mir dass auch der Cursor Werte hat


Code:
package com.ag88.ListViewDB;


import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class ListViewDB extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	
        ListView listView = (ListView)findViewById(R.id.listView1);
    	
    	super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //Database stuff
        SQLiteDatabase db = openOrCreateDatabase("mydb.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
        myDBHelper helper1 = new myDBHelper(this);
        helper1.getWritableDatabase();
        
        ContentValues value = new ContentValues();
        value.put("NAME","BANANEN");
        value.put("POINTS", 100);
        value.put("CHECKED", 1);
        db.insert("mytab", null, value);
        //db.close();
        boolean foo = db.isOpen();
        
        Cursor cursor = db.query("mytab", new String[] {"_id","NAME"}, null, null, null, null, null);
        int test = cursor.getCount();
        
        startManagingCursor(cursor);
        
        String[] from = new String [] {"_id"};
        int[] to = new int[] {android.R.id.text1};
        
        SimpleCursorAdapter ladp = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor,from ,to );
        
        listView.setAdapter(ladp);
        
        
    }
    
    public class myDBHelper extends SQLiteOpenHelper{

    	private static final String DATABASE_NAME = "mydb.db";
        private static final int DATABASE_VERSION = 1;
        private static final String TABLE_NAME = "mytab";
        private static final String TABLE_CREATE =
                    "CREATE TABLE " + TABLE_NAME +" (_id INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, CHECKED INTEGER, POINTS INTEGER);";
    	
        myDBHelper(Context context){
    		super(context, DATABASE_NAME, null, DATABASE_VERSION);
    	}
        
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		db.execSQL(TABLE_CREATE);
    	}

    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
    }
}

Gruß Straightflush
 
Problem gelöst:

ListView darf erst mit findbyViewId gesucht werden nachdem setContent aufgerufen wurde...
 

Ähnliche Themen

D
Antworten
17
Aufrufe
404
datNeMo
D
A
Antworten
10
Aufrufe
1.021
swa00
swa00
R
  • RudolfHagen
Antworten
1
Aufrufe
651
koje71
koje71
Zurück
Oben Unten