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

发布于 2024-12-09 08:15:27 字数 135 浏览 3 评论 0原文

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

I have a Grid View in my Android Application in which Images are fetched from xml file and are set and viewed in the gridview. Some images from the xml file have important markings.
I want to show that marked images in the beginning of the grid. For that I think I have to apply sorting. Can anyone suggest me how to do sorting of images?
Thanks in Advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

优雅的叶子 2024-12-16 08:15:27

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

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

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);

谢谢。

I assume that you have a list of images which you are binding to adapter. If you have a list of images and want to sort that you need to implement custom Comparator for sorting that array(list).

here is the example of custom Comparator...

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;
        }
    }
};

And you can use this Comparator by...

Collections.sort(your_list_type_object, ComparatorByDistance);

Thanks.

我ぃ本無心為│何有愛 2024-12-16 08:15:27

列出您的元素并使用

Collections.sort(your_list_here);

这应该对列表中的项目进行排序

Make a list of your elements and use

Collections.sort(your_list_here);

This should sort your items in the list

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文