У меня есть список дочерних элементов в моей базе данных, и имя ключа - это даты. Теперь я хочу упорядочить эти элементы таким образом, чтобы я мог сначала датировать последний элемент, а также я использую пользовательский приемник для отображения этих данных с помощью FirebaseRecyclerAdapter, и я также нужно получить дочерний ключ, когда я нажимаю на элемент:
Это мой ребенок выглядит как смотреть здесь
и это мой код для отображения данных
DatabaseReference personsRef = FirebaseDatabase.getInstance().getReference().child("winners");
Query personsQuery = personsRef.orderByKey();
mPeopleRV.hasFixedSize();
LinearLayoutManager mLayoutManager = new LinearLayoutManager(Notification.this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
mPeopleRV.setLayoutManager(mLayoutManager);
FirebaseRecyclerOptions personsOptions = new FirebaseRecyclerOptions.Builder<News>().setQuery(personsQuery, News.class).build();
mPeopleRVAdapter = new FirebaseRecyclerAdapter<News, NewsViewHolder>(personsOptions) {
@Override
protected void onBindViewHolder(Notification.NewsViewHolder holder, final int position, final News model) {
holder.setTitle(capitalize(model.getName()));
holder.setDesc(model.getDate().replace('-', ' '));
holder.setAmount(model.getAmount());
holder.setImage(getBaseContext(), model.getImg());
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Here i need child key when click on item (Date)
}
});
}
@Override
public Notification.NewsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.news_row, parent, false);
return new Notification.NewsViewHolder(view);
}
};
mPeopleRV.setAdapter(mPeopleRVAdapter);
Вещи, которые мне нужны:
Упорядочить элементы по дате (в этом примере самая поздняя дата первой позиции
02-Sep-2018)
получить ключ, когда пользователь нажимает на элементы (ключ, т.е. дата)