Android: Filter Cardviews в Recyclerview с номером DAOAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android: Filter Cardviews в Recyclerview с номером DAO

Сообщение Anonymous »

У меня есть список карт кадров. Каждый CardView содержит пользовательские данные, которые сохраняются в базе данных комнаты. Некоторые из обзоров Cardview имеют сроки, которые были введены пользователем с помощью расписания. Я установил фильтру для фильтрации полного списка, передавая давно введенную дату выполнения из временного времени. Метод DAO должен вернуть все обзор с сроками срока службы, которые находятся на или до введенной даты срока. Полный список возвращается, поэтому фильтрация не работает. Я выбрал долгое время, чтобы можно было передано нулевое значение для первоначальной сортировки полного списка. Первоначальная сортировка основана на критериях сортировки в базе данных. Чего мне здесь не хватает? < /P>
Activity
//filterButton press
Calendar cal = Calendar.getInstance();
duedate5 = cal.getTimeInMillis // the date selected by the user in the TimePicker.
mViewModel.setSortOrder(Repository.SortOrder.DB_FILTONORBEF, **duedate5**);

ViewModel
public class ViewModel extends AndroidViewModel {
...
public ViewModel(@NonNull Application application) {

repository = new Repository(application);
// set the initial sort, using the SortOrder field in the database and
// no due date is passed.
setSortOrder(Repository.SortOrder.DB_SORTORDER,null);

public void setSortOrder(Repository.SortOrder newOrder, **Long duedate5**) {

LiveData newSource = repository.getSortedItems(newOrder, **duedate5**);
...
}
}

Repository
public class Repository {

private final CardDao cardDao;

public Repository(Application application) {
CardRoomDatabase db = CardRoomDatabase.getDatabase(application);
cardDao = db.cardDao();
}

public LiveData getSortedItems(SortOrder order, **Long duedate5**) {

switch (order) {
case DB_SORTORDER:
return cardDao.getAllCards();
case DB_FILTONORBEF:
return cardDao.getFiltOnOrBeforeList(**duedate5**);
}
}

public enum SortOrder {

DB_SORTORDER,
DB_FILTONORBEF
}

CardDao
@Dao
public interface CardDao {

// For filtering the full RecyclerView List On or Before the entered Due date.
@Query("SELECT * FROM cards_table WHERE CardDuedatentime !=-1 AND" +
"CardDuedatentime < :dueDate5 ORDER BY CardDuedatentime ASC")
LiveData getFiltOnOrBeforeList(Long dueDate5);

}



Подробнее здесь: https://stackoverflow.com/questions/797 ... h-room-dao
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»