Мне нужно реализовать функцию приоритетности. То есть как оно работает, при добавлении заметок пользователь сможет выбрать важность этой заметки, и соответственно самая важная заметка будет располагаться в самом верху RecyclerView, а самая низкая по приоритетности, в самом низу. Как это сделать? Если есть источники поделитесь пожалуйста. Долго искал, не могу найти ответ
В модель заметки добавьте поле priority. Перед предоставлением RecyclerView.Adapter выполните сортировку элементов списка notes.sortBy { it.priority }. Значение приоритета лучше сделать численным, вы можете зарание задать константы типа val const MAX = 3
Но я бы сделал перечисление
enum Priority(val code: Int) {
MAX(1),
MIN(0)
}
По-моему все достаточно просто, допустим у вас есть ваш адаптер заданий (Task):
public class TasksAdapter extends
RecyclerView.Adapter<TaskAdapter.ViewHolder> {
// blah-blah, пропускаем декларацию ViewHolder и т.д.
private List<Task> mTasks;
}
По сути вам надо сделать сортировку List<Task> по полю priority, которое надо завести.
Что-то навроде такого:
Collections.sort(mTasks, new Comparator<Task>() {
@Override
public int compare(Task lTask, Task rTask) {
return lTask.getPriority() > rTask.getPriority() ? -1 : 1;
}
});
После чего надо не забыть вызвать на адаптере notifyDatasetChanged()
Сборка персонального компьютера от Artline: умный выбор для современных пользователей