java - 如何在Android Studio中对 ListView 中的数据进行排序

标签 java android firebase sorting listview

你能帮我对listView中的数据进行排序吗?
listView 与 Firebase 数据库链接, 我想按时间对它们进行排序,这意味着最后添加到 Firebase 的数据首先出现在 ListView 中。 请原谅,我还是 Android Studio 的初学者。

我使用此代码从 Firebase 数据库获取数据

ListView listLocation;
DatabaseReference databaseLocation;
List<Location> locationList;

    @Override
public void onStart() {
    super.onStart();

    databaseLocation.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            locationList.clear();
            for (DataSnapshot locationSnapshot : dataSnapshot.getChildren() ){

                Location location = locationSnapshot.getValue(Location.class);

                locationList.add(location);
            }
            LocationList adapter = new LocationList(getActivity(), locationList);

            Collections.reverse((List<LocationList>) adapter);

            listLocation.setAdapter(adapter);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

最佳答案

当您不解释您希望如何对集合进行排序时,这会变得有点困难。但在这种情况下,我假设您尝试按距离排序。

所以代码 fragment 如下。

  Collections.sort(adapter, new Comparator() {
        @Override
        public int compare(Object o1, Object o2) {
            Location l1 = (Location) o1;
            Location l2 = (Location) o2;
            return l1.getDistance().compareTo(l2.getDistance());
        }
    });

我们正在制作 Comparator可以比较您的对象,或者如果它们都是同一类的实例,您可以使该类实现 Comparable 。然后您可以使用 Collections.sort() 进行实际排序。

关于java - 如何在Android Studio中对 ListView 中的数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60733991/

相关文章:

java - 如何在 Java 代码中连接来自不同数据库(MySql、Vertica)的两个表?

java - 如何从不同的类访问 boolean 值?

javascript - 运行变量是 NaN,但调试变量不是 NaN。为什么?

java - Android Java TCP/IP 服务器服务

java - Android 在内部存储上创建文件,我做错了什么?

java - 使用具有当前时间的随机数生成器与不使用

android - 无需硬编码即可检测信标

android - 在 Android webview 中强制滚动条的选项是什么?

ios - Firebase 不适用于 iOS 的生产版本

ios - FirebaseUI-IOS 处理空 TableView 条件