如何在Android中限制显示列表

时间:2017-07-29 07:12:46

标签: android

在我的应用程序中,我想使用此https://github.com/fiskurgit/ChipCloud

我可以将服务器中的列表添加到芯片云中,为此我写下以下代码:

List<String> cloudChipList = new ArrayList<>();
private String[] mostlyMatchedKeywordsStrings;

            mostlyMatchedKeywordsStrings = searchResponse.getData().getMostlyMatchedKeywordsText();
            for (String str : mostlyMatchedKeywordsStrings) {
                cloudChipList.clear();
                cloudChipList.add(str);
                if (cloudChipList.size() > 0) {
                    fullSearchMini_didYouMeanLay.setVisibility(View.VISIBLE);
                    fullSearchMini_chipCloud.addChip(str);
                }
            }

在我的代码中显示列表的所有数据,但我只想显示5个数据而不是所有数据!
如何更改上面的代码只显示5项?

2 个答案:

答案 0 :(得分:1)

你可以使用计数器这样做,如果count大于5,它就不会添加到列表cloudChipList中。

 List<String> cloudChipList = new ArrayList<>();
    private String[] mostlyMatchedKeywordsStrings;
    int count=0;
                mostlyMatchedKeywordsStrings = searchResponse.getData().getMostlyMatchedKeywordsText();
                for (String str : mostlyMatchedKeywordsStrings) {
                    cloudChipList.clear();
               if(count<5){
                    cloudChipList.add(str);}
                    if (cloudChipList.size() > 0) {
                        fullSearchMini_didYouMeanLay.setVisibility(View.VISIBLE);
                        fullSearchMini_chipCloud.addChip(str);
                    }
count++;
                }

答案 1 :(得分:0)

您可以根据服务器端的限制限制数据。您应该使用Criteria。如果您使用会话,那么此示例代码将有所帮助:

Criteria criteria = session.createCriteria(YourClassName.class);
criteria.setMaxResults(5);
if (criteria.list().size() > 0) {
   yourListName = (List<YourClassName>) criteria.list();
}

此代码将限制从服务器发送到5的项目数,即使该列表包含n个项目。