android - 在网格布局的适配器中应用排序

标签 android sorting gridview adapter

我的 Android 应用程序中有一个 GridView ,其中图像是从 xml 文件中获取的,并在 GridView 中设置和查看。 xml 文件中的一些图像具有重要标记。 我想在网格的开头显示标记的图像。为此,我认为我必须应用排序。谁能建议我如何对图像进行排序? 提前致谢。

最佳答案

我假设您有一个要绑定(bind)到适配器的图像列表。如果您有一个图像列表并想要对其进行排序,则需要实现自定义比较器来对该数组(列表)进行排序。

这是自定义比较器的示例...

public Comparator<TheaterInfo> ComparatorByDistance = new Comparator<TheaterInfo>() {

    public int compare(TheaterInfo object1, TheaterInfo object2) {
        if (object1.getDistance().length() > 0
                && object2.getDistance().length() > 0) {
            String[] d1 = object1.getDistance().replace(" ", "#").split("#");
            String[] d2 = object2.getDistance().replace(" ", "#").split("#");
            float o1 = Utils.ConvertToFloat(d1.length > 1 ? d1[0] : "0.0");
            float o2 = Utils.ConvertToFloat(d2.length > 1 ? d2[0] : "0.0");
            if (o1 == o2)
                return 0;
            return o1 > o2 ? 1 : -1;
        }
        else
        {
            return object1.getDistance().length() > 0 ? 1 : -1;
        }
    }
};

您可以通过...使用此比较器

Collections.sort(your_list_type_object, ComparatorByDistance);

谢谢。

关于android - 在网格布局的适配器中应用排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723872/

相关文章:

android - 在 Cordova 应用程序中播放音频

PHP : json_encode is returning NULL array at the start of the string

scala - 如何在Spark Scala中对具有5个元素的元组的RDD进行排序?

c - Valgrind 报告排序算法分区函数的堆栈溢出 : can't figure out why

asp.net - 在 "insert mode"中时,在将详细信息 View 插入数据库之前修改已编辑的字段

java - 我想在连接到互联网后立即关闭该对话框

c - C 中的通用快速排序

c# - 对齐 GridView 中的行值

java - 当更改 GridView 的行时,它会显示第一张图像

android - 根据 Android Material Design 指南,带/不带标题的分隔 View