【问题标题】:Fill the List<object> with max number of items then fill new List for remaining objects用最大数量的项目填充 List<object> 然后为剩余对象填充新 List
【发布时间】:2016-01-15 07:16:56
【问题描述】:

我有一个名为的对象列表

List<Products> data

现在我想将这个列表分成 10 个项目,所以如果我在数据列表中有 24 个项目,我想创建并填充 3 个新列表

对不起,如果这个问题有点令人困惑

编辑

我真正要做的是将一长串数据剥离成集群,每个集群有 10 个项目。我想剥离的原因是我想分页而不是长列表,每页有10个项目。

ListView lv;
List<Products> data

for (Products product : data) {

*I want to split the list here*

    }

CustomAdapter adapter = new CustomAdapter(getContext(), data);
lv.setAdapter(adapter);

【问题讨论】:

  • 请先努力。
  • Java 8 的同样问题,但至少 Guava 的解决方案也适用于 Android:stackoverflow.com/questions/28210775/…
  • 在此处添加更多规范。因为解决方案可以通过许多好的和模糊的方式来实现。模糊的一个,比如创建两个列表,然后添加第一个 10,然后休息 10,然后剩下的。我相信你正在寻找不同的东西。请详细说明你的问题跨度>
  • 我编辑了我的问题。对不起我不清楚的问题,我在这里有点新:)

标签: java android android-listview


【解决方案1】:

您可以使用以下几种方法进行拆分

public static List<List<String>> splitData(List<String> data) {
        List<List<String>> splittedData = new ArrayList<List<String>>();
        List<String> currentSplit = null;
        for (int i = 0; i < data.size(); i++) {
            if (i % 10 == 0) {
                currentSplit = new ArrayList<String>();
                splittedData.add(currentSplit);
            }
            currentSplit.add(data.get(i));
        }
        return splittedData;
    }

你需要使用&lt;Products&gt;而不是&lt;String&gt;

【讨论】:

  • 这正是我想要的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2014-01-20
  • 2012-07-14
  • 2013-12-22
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
相关资源
最近更新 更多