Можно ли добавить данные из разных таблиц одной и той же базы данных в каждую строку ListView в Android? - PullRequest
0 голосов
/ 07 февраля 2011

Можно ли добавить данные из разных таблиц одной и той же базы данных в каждую строку ListView в Android?

У меня есть приложение поставщика, и я хочу добавить данные из одной стандартной таблицы элементов и одной ежедневной таблицыв виде списка.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2011

Я думаю, вы имеете в виду, что запрос объединяет две разные таблицы;это правильно?

Если вы используете SimpleCursorAdapter , то вы можете использовать CursorToStringConverter для предоставления меток для ListView.Вот пример:

    // choices to be displayed in the AutoCompleteTextView.
    adapter.setCursorToStringConverter(new CursorToStringConverter() {
        public String convertToString(android.database.Cursor cursor) {
            final int columnIndex1 = cursor.getColumnIndexOrThrow("col1");
            final String str1 = cursor.getString(columnIndex1);
            final int columnIndex2 = cursor.getColumnIndexOrThrow("col2");
            final String str2 = cursor.getString(columnIndex2);
            return str1 + str2;
        }
    });

Если вы хотите, чтобы данные из каждой таблицы были представлены в отдельных представлениях (а не в одном TextView), тогда вы можете использовать SimpleCursorAdapter.ViewBinder для обновления просмотров.( Вот пример ViewBinder. Я написал это для работы с Spinner, но он работает так же с ListView.)

0 голосов
/ 07 февраля 2011

Если обе таблицы имеют одинаковый формат строк (или, по крайней мере, вы выбираете строки одинакового типа из обеих таблиц), вы можете объединить их в один запрос с UNION.См. sqlite select запрос документации для получения дополнительной информации о UNION.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...