J'ai créé une base de données avec un curseur. Je veux le montrer dans une liste. Ceci est mon fichier d'activité:Affichage de la liste de bases de données SQLite
package com.ucas.course;
import java.util.List;
import org.w3c.dom.Comment;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
public class SQLView extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_example);
UCAS info = new UCAS(this);
info.open();
String values = info.getData();
info.close();
AString[] columns = new String[] {UCAS.KEY_UNIVERSITY};
int[] to = new int[] { R.id.name_entry, R.id.number_entry };
startManagingCursor(c);
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.sqlview, c, columns, to);
this.setListAdapter(mAdapter);
}
}
À l'heure actuelle, il n'y a pas d'erreur en dehors d'une erreur de curseur « instruction non valide dans fillWindow() », je ne sais pas si cela a quelque chose à voir avec mon problème, mais quand Je commence l'activité Je viens d'obtenir un écran vide
public Cursor getData() {
// TODO Auto-generated method stub
String[] columns = new String[]{KEY_ROWID, KEY_UNIVERSITY, KEY_OFFER};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
return c;
}
nombre de itmes dans « colonnes » et « à » doit être égal! Le curseur devrait aussi contenir la colonne "_id" (je suppose que c'est votre colonne KEY_ROWID). –
Je les ai changés en String [] columns = new String [] {UCAS.KEY_ROWID, UCAS.KEY_UNIVERSITY, UCAS.KEY_OFFER}; \t int [] à = new int [] {R.id.KEY_ROWID, R.id.KEY_UNIVERSITY, R.id.KEY_OFFER}; Je suppose que c'est ce que vous vouliez dire mais je reçois toujours l'erreur et rien ne montre – user1261404