创建一个由两个 ArrayList 一次提供的 ListView 或两个在 Android 中显示为一个的 ListView?

Create a ListView that is fed by two ArrayLists at once OR two ListViews that appear as one in Android?

基本上,我想做什么:

然而我的知识落后于这样做。

以下是我需要解决的问题的一些细节,以及我为什么要寻求上述解决方案。

我正在尝试在 android 中构建一个相当复杂的列表视图。它的数据目前存储在一个ArrayList中。每行的数据由自定义对象提供。我按日期对条目进行排序, 效果很好。我现在需要

这需要一个涉及两个列表的解决方案,对条目进行排序和处理设计会更容易。

如果您问我尝试了什么:我已经通过将相关日期映射到未来的方式来解决它,因此它们位于列表的顶部

Collections.sort(newsList, new Comparator<News>() {
            @Override
            public int compare(News p1, News p2) {
                DateTime startDate = new DateTime(p2.getValidUntil());
                DateTime endDate = new DateTime(p1.getValidUntil());
                if(Util.isEntryRelevant(p1)){
                    endDate = endDate.plusDays(1000);
                }
                if(Util.isEntryRelevant(p2)){
                    startDate.plusDays(1000);
                }

                Minutes diff = Minutes.minutesBetween(endDate, startDate);
                diff.getMinutes();
                return diff.getMinutes();
            }

        });

这可能是我迄今为止编写的最狡猾的一段代码。我想到了更多的解决方法,但它们似乎都变得混乱和不干净。

本质上,您必须实现一个自定义的 BaseAdapter,它知道迭代您的两个数据源。您可以使用 this 之类的东西来节省一些时间,您可以向其中添加几个常规适配器。