1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Hilfe ListView <-> SimpleCursorAdapter

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Straightflush, 06.05.2011.

  1. Straightflush, 06.05.2011 #1
    Straightflush

    Straightflush Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    06.05.2011
    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
     
  2. Straightflush, 07.05.2011 #2
    Straightflush

    Straightflush Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    06.05.2011
    Problem gelöst:

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

Diese Seite empfehlen