Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中通过比较值来显示listview_Java_Android_Firebase Realtime Database_Android Listview_Firebaseui - Fatal编程技术网

Java 如何在android中通过比较值来显示listview

Java 如何在android中通过比较值来显示listview,java,android,firebase-realtime-database,android-listview,firebaseui,Java,Android,Firebase Realtime Database,Android Listview,Firebaseui,我有一个带有listview的应用程序。目前,它显示了我输入到数据库的所有数据。我想通过比较当前时间和我输入到数据库的时间来显示firebase数据库中的数据 这是密码 lv = findViewById(R.id.listView); Query query = FirebaseDatabase.getInstance().getReference().child("Details"); FirebaseListOptions<Member> op

我有一个带有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();
}
lv=findviewbyd(R.id.listView);
Query Query=FirebaseDatabase.getInstance().getReference().child(“详细信息”);
FirebaseListOptions=new FirebaseListOptions.Builder()
.setLayout(R.layout.list\u view\u项目)
.setQuery(查询,成员.class)
.build();
适配器=新FirebaseListAdapter(选项){
@凌驾
受保护的void populateView(@NonNull View v、@NonNull对象模型、int位置){
检查();
TextView loc=v.findviewbyd(R.id.locs);
TextView des=v.findviewbyd(R.id.dests);
TextView总线=v.findviewbyd(R.id.busn);
TextView tim=v.findviewbyd(R.id.time);
成员db=(成员)模型;
loc.setText(db.getLocation().toString());
des.setText(db.getDestination().toString());
bus.setText(db.getBusname().toString());
tim.setText(db.getTime().toString());
}
};
低压设置适配器(适配器);
}
@凌驾
受保护的void onStart(){
super.onStart();
adapter.startListening();
}
@凌驾
受保护的void onStop(){
super.onStop();
adapter.stopListening();
}
任何错误请指导我,我是新的安卓系统。提前感谢:)

您正在寻找的,它允许您过滤Firebase服务器上的数据。假设您有一个字段,它在details(自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);
您只需将此查询传递到适配器,就像您已经在做的一样。

您正在寻找的,它允许您过滤Firebase服务器上的数据。假设您有一个字段,它在details(自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);

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

尝试使用Compactor对列表进行排序“比较当前时间和我输入数据库的时间”是什么意思?尝试使用Compactor对列表进行排序“比较当前时间和我输入数据库的时间”是什么意思?