Intereting Posts
Кнопка прослушивателя не работает в фрагменте предпочтения Всегда используйте v4 Fragments вместо встроенного android.app.Fragment? DialogFragment не изменяется при нажатии на клавиатуру Есть ли способ проверить, включена ли опция «Установить из неизвестного источника» на Android? Как создать набор атрибутов из style.xml? Какие взносы участвуют в публикации приложения для Android? Конфигурация для конкретной комбинации вкуса градиента Android-меню слайдов с обеих сторон влево и вправо Как сравнить исключенное исключение от стандартных исключений в асинхронной задаче android? Как читать / писать строки из файла на Android Удалить префикс URL из строки (http: /, www и т. Д.) Как получить _count в моем контент-провайдере? Сохранение видеозаписи в режиме реального времени на SD-карте с помощью Local Socket в Android – Видео не воспроизводится Является ли com.google.android.c2dm.intent.REGISTRATION устаревшим? Как узнать наименьшую ширину (sw) устройства Android?

Фильтрация ListView с помощью CursorLoader и Custom CursorAdapter

В настоящее время я делаю проект, который включает показ списка местоположений рядом с моим текущим местоположением.

Я только недавно начал Android-программирование, поэтому я все еще участвую в процессе обучения на этапе кодирования.

Я искал все, пытаясь понять, как действовать. Я все еще застрял после прочтения и опробования.

В настоящее время мой рабочий код состоит из

  • CursorLoader
  • Пользовательский ResourceCursorAdapter, который помогает заполнять мои записи в ListView

Вопросов

  1. Что такое «правильный» способ фильтрации записей для моего ListView? Я видел сообщения в интерфейсе Filter / Filterable, но, похоже, он не работает для моей текущей настройки? Выполнять фильтрацию внутри своего пользовательского адаптера CursorAdapter?

  2. Как мне обновить ListView после выполнения фильтрации? Я вызываю getLoaderManager (). RestartLoader (0, null, this) или adapter.notifyDataSetChanged ()?

Заранее спасибо.

Solutions Collecting From Web of "Фильтрация ListView с помощью CursorLoader и Custom CursorAdapter"

Используйте getLoaderManager().restartLoader(LOADER_ID, null, MainActivity.this); Для вызова onCreateLoader .

Пример сайта разработчика Android .

 private String filter; public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_filter : filter = "COLUMN_NAME = value"; getLoaderManager().restartLoader(LOADER_ID, null, MainActivity.this); break; default: break; } return super.onOptionsItemSelected(item); } @Override public android.content.Loader<Cursor> onCreateLoader(int id, Bundle args) { return new CursorLoader( MainActivity.this, // Parent activity context SomeContentProvider.CONTENT_URI, // Table to query projection, // Projection to return filter, // No selection clause null, // No selection arguments null // Default sort order ); }