Заполнение ListView из базы данных SQLite в Android - PullRequest
1 голос
/ 25 марта 2010

Я пытаюсь заполнить ListView в отдельном классе данными, взятыми из базы данных SQLite, хранящейся в другом классе. Какой самый простой способ сделать это?

Спасибо

1 Ответ

4 голосов
/ 25 марта 2010

Возвращает курсор, например: 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);

в классе у вас есть метод, возвращающий Cursor

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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...