2010-03-25 4 views

Répondre

4

Retour un curseur Exemple: getList() de votre autre classe à la classe actuelle ListView.

objItem = new Contacts(this); 

this.cur = objItem.getList(); 
this.startManagingCursor(this.cur); 

ListAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cur, 
     new String[] { ContactsContract.Contacts.DISPLAY_NAME}, new int[] { android.R.id.text1}); 

setListAdapter(adapter); 

en classe vous avez une méthode de retour du curseur

public Cursor getList() { 
     // Get the base URI for the People table in the Contacts content 
     // provider. 
     Uri contacts = ContactsContract.Contacts.CONTENT_URI; 
     // Make the query. 
     ContentResolver cr = ctx.getContentResolver(); 
     // Form an array specifying which columns to return. 
     String[] projection = new String[] { ContactsContract.Contacts._ID, 
       ContactsContract.Contacts.DISPLAY_NAME }; 

     Cursor managedCursor = cr.query(contacts, projection, null, null, 
       ContactsContract.Contacts.DISPLAY_NAME 
         + " COLLATE LOCALIZED ASC"); 
     return managedCursor; 
    } 
+0

Merci encore Pentium10, pourrais-je utiliser ce code même si je ne l'ai pas mis en place un fournisseur de contenu? – jcrowson

+0

Je viens de copier collé ceci. Vous utilisez une méthode 'Cursor cur = db.query (...)' et renvoyez la variable Cursor. – Pentium10

+0

@ Pentium10 pouvez-vous résoudre ce problème j'ai besoin d'aide http://stackoverflow.com/questions/38435531/android-setting-sqlite-database-values-in-an-listview –

Questions connexes