В моем приложении пользователи могут легко сортировать контент с одним специальным критерием, то есть orderByChild.
если они охотятся за физическим документом в Швейцарии
.orderByChild("Tag_country").equalTo("Physics_Switzerland");
если они охотятся за любым документом в Швейцарии
.orderByChild("Country").equalTo("Switzerland");
Пользователи могут сортировать содержимое на основе их даты публикации, количества раз, когда они были просмотрены, или количества мозгов\нравится одному сообщению.
.orderByChild("Views") // sort list by highest views
.orderByChild("Brains") // sort list by most likes\brains
.orderByChild("TimeStamp") // sort list by newest post\edit
Однако пользователь может не сортировать контент более одного раза, поскольку мы все можем знать
Вы можете использовать только метод один по порядку. Вызов метода заказа несколько раз в одном и том же запросе вызывает ошибку.
Так что-то вроде OrderByChild("Tag_country).equal("Physics_Switzerland").OrderByChild("Views");
приведет к сбою приложения
Я пытаюсь отсортировать уже заданный запрос, исходя из количества просмотров документа. То есть, в порядке убывания, покажите мне документы физики в Швейцарии, начиная от наивысшего до самого низкого уровня.
Как настраивается FirebaseRecycler
final Query DBquery = FirebaseDatabase.getInstance().getReference().child("PDF").child("Content")
.orderByChild("tag_Country").equalTo("Chemistry_Switzerland");
FirebaseRecyclerAdapter<pdfGstrings, Pdf_BlogViewHolder> fbRecyclerAdapter;
fbRecyclerAdapter = new FirebaseRecyclerAdapter<pdfGstrings, Pdf_BlogViewHolder>(
pdfGstrings.class,
R.layout.pdf_g_card,
Pdf_BlogViewHolder.class,
DBquery
) {
PdfRecycler.setAdapter(fbRecyclerAdapter);
fbRecyclerAdapter.notifyDataSetChanged();
Как заполняется представление
@Override
protected void populateViewHolder(final Pdf_BlogViewHolder viewHolder, final pdfGstrings model, final int position) {
final String post_key = getRef(position).getKey();
Render(viewHolder, model, post_key);
}
};
Я могу получить доступ к каждому количеству просмотров Pdf на
viewHolder.ViewCounts
Запрос
Как я могу манипулировать\изменить порядок позиций позиций, на стороне клиента и на основе целочисленного значения? Здесь целое значение viewHolder.ViewCounts
Пример. Программно выровняйте ячейку с 325 видами поверх ячейки с 92 видами.
Структура детей
Pdf
Content
-Kd5YcEuE1yKTSdpaZi7
"Brains" : 2,
"Country" : "Switzerland",
"Tag_country" : "Chemistry_Switzerland",
"TimeStamp" : 12849127519,
"Views" : 92,
-Kd5YcoijSDujaxpaZsE
"Brains" : 12,
"Country" : "Switzerland",
"Tag_country" : "Chemistry_Switzerland",
"TimeStamp" 14349127519
"Views" : 352,
-Kd5YHDIUscDujaxpaZ13
"Brains" : 1,
"Country" : "Malaysia",
"Tag_country" : "Mathematics_Malaysia",
"TimeStamp" 14341221519
"Views" : 218,
-Kd5YHDIUJAdhxaxpas93
"Brains" 91,
"Country" : "Argentine",
"Tag_country" : "Archaeology_Argentine",
"TimeStamp": 14949127519,
"Views" : 928,