Вернуть курсор, например: getList()
с другого класса до текущего класса 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);
в классе у вас есть метод, возвращающий Курсор
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;
}
Еще раз спасибо Pentium10, я был бы в состоянии использовать этот код, даже если я не реализовал контент-провайдера? – jcrowson
Я только что скопировал это. Вы используете метод 'Cursor cur = db.query (...)' и возвращаете переменную Cursor. – Pentium10
@ Pentium10 вы можете решить эту проблему, мне нужна помощь http://stackoverflow.com/questions/38435531/android-setting-sqlite-database-values-in-an-listview –