gpt4 book ai didi

java - 如何通过比较android中的值来显示 ListView

转载 作者:太空宇宙 更新时间:2023-11-04 09:32:21 25 4
gpt4 key购买 nike

我有一个带有 ListView 的应用程序。目前它显示了我输入到数据库的所有数据。我想通过比较当前时间和我输入数据库的时间来显示 Firebase 数据库中的数据。

这是代码

 lv = findViewById(R.id.listView);
Query query = FirebaseDatabase.getInstance().getReference().child("Details");
FirebaseListOptions<Member> options = new FirebaseListOptions.Builder<Member>()
.setLayout(R.layout.list_view_item)
.setQuery(query,Member.class)
.build();
adapter = new FirebaseListAdapter(options) {
@Override
protected void populateView(@NonNull View v, @NonNull Object model, int position) {
check();

TextView loc = v.findViewById(R.id.locs);
TextView des = v.findViewById(R.id.dests);
TextView bus = v.findViewById(R.id.busn);
TextView tim = v.findViewById(R.id.time);

Member db = (Member) model;
loc.setText(db.getLocation().toString());
des.setText(db.getDestination().toString());
bus.setText(db.getBusname().toString());
tim.setText(db.getTime().toString());
}
};
lv.setAdapter(adapter);

}

@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}


@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}

任何错误请指导我,我是 Android 新手。提前致谢:)

最佳答案

您正在寻找Firebase Database queries ,它允许您过滤 Firebase 服务器上的数据。假设您有一个字段,其中保存详细信息下每个节点的时间戳(自 1970 年 1 月 1 日以来的毫秒数)。您可以通过以下方式获取一到两周前的每个子节点:

Query query = FirebaseDatabase.getInstance().getReference().child("Details");

long oneWeekInMillis = 7 * 24 * 60 * 60 * 1000;
long oneWeekAgo = System.currentTimestampMillis() - oneWeekInMillis;
long twoWeeksAgo = oneWeekAgo - oneWeekInMillis;

query = query.orderByChild(timestamp).startAt(twoWeeksAgo).endAt(oneWeekAgo);

您可以将此查询传递到适配器中,就像您已经在做的那样。

关于java - 如何通过比较android中的值来显示 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56934644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com