【发布时间】:2017-09-16 13:58:27
【问题描述】:
首先,我将 FirebaseUI 用于 android 和 Firebase 数据库。
由于 firebase 查询仅支持按升序排列数据,所以我想出了一个小技巧,以降序显示 RecyclerView 中的项目。
这就是我的查询方式。
selectedCategory = "downloads"
array = new FirebaseArray(imageRef.orderByChild(selectedCategory).limitToLast(50), ImageModel.class);
这是我在FirebaseRecyclerAdapter 上的实现。请注意,这里我覆盖了方法onBindViewHolder。这是重新排序项目的方法。但实际上它并没有按预期工作(无论有没有这段代码都没有效果。两种情况下的列表都是相同的)。
FirebaseRecyclerAdapter<ImageModel, GridViewHolder>(
array,
R.layout.grid_item,
GridViewHolder.class) {
@Override
public void onBindViewHolder(GridViewHolder viewHolder, int position) {
super.onBindViewHolder(viewHolder, getItemCount() -position - 1);
populateViewHolder(viewHolder, getItem(position), getItemCount() - position - 1);
}
@Override
protected void populateViewHolder(final GridViewHolder viewHolder, final ImageModel model, final int position) {
.
.
.
【问题讨论】:
-
可能反转数组?
-
只有在执行适配器时才能开始填充数组。
-
如果你想实现这一点,我建议使用你自己的监听器和适配器。
-
@makrandpawar 看起来我只需要按照您的建议执行此操作。你可以把它写成我会接受的答案:)
标签: android firebase firebase-realtime-database firebaseui