ref.orderByChild("userOrderDateTime").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
UserOrder userOrder = dataSnapshot.getValue(UserOrder.class);
list.add(userOrder);
}
adapter.notifyDataSetChanged();
if (list.size() == 0) {
gifImageView.setVisibility(GifImageView.VISIBLE);
userOrderBlankText.setVisibility(View.VISIBLE);
btnDeleteUserOrderItems.setVisibility(Button.INVISIBLE);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
正如我在屏幕截图中看到的那样,UserOrderDateTime
属性是o类型字符串,这意味着顺序将始终按词典顺序排列。要获得正确的顺序,应该在该字段中存储时间戳值,而不是字符串。要做到这一点,请看我在以下帖子中的回答:
一旦您更改了字段的类型,您的元素将正确排序。
我有一张日期表 我想按时间顺序点菜。我发现另一个线程推荐使用: 但输出不能正确地将最新的排序为最旧的。
问题内容: 我正在尝试从Firebase订购数据,因此最近的帖子位于顶部(如Instagram),但我无法使其正常运行。我应该使用服务器时间戳吗?是否有一个“ createdAt”字段? 问题答案: 仅对数组使用 reverse() 不足以包含所有内容。您需要考虑不同的事情: 在检索数据时进行限制,请使用 append() ,然后使用 reverse() 可以节省时间。您不需要每次都删除所有数组。
我得到了一个有这样数据的表: 如何选择具有适当id的行,其中date_from和date_to之间的s_date最接近date_from\date_to范围?在我的情况下,最合适的行必须是: 谢谢!
问题内容: 我在一个包含日期/时间的网格中有一个字段,我需要知道该日期和当前日期/时间之间的区别。这样做的最佳方法是什么? 日期存储为。 问题答案: 这将为您提供两个日期之间的时差,以毫秒为单位 在您的示例中, 您需要确保这是一个有效的对象。 这样的事情可能会为您工作 即变成,这是构造函数可以理解的格式。
这是正确的吗?