1

我需要为我的应用程序的 FlexTable 小部件实现“分页”:

这是我的初始代码,它将产品呈现为 3 列单元格:

public void renderProducts(Map<Long, Product> mp) { 
    int i = 0;
    int j = 0;

    Iterator it = mp.entrySet().iterator(); 
    while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();

        Product product = (Product) pairs.getValue();
        ProductWidget pw = productInstance.get();
        pw.setTitle(product.getName());
        pw.setImageUrl(product.getImageUrl());
        pw.setContent(product.getInfo());
        pw.setUrl(product.getUrl()); // "More" button anchor
        List<String> feats = product.getFeatures();
        for (String f : feats){
            pw.addFeature(f);
        }

        flextable.setWidget(i, j, pw);
        j++;
        if (j == 3){ 
            i++;
            j = 0;
        }
        it.remove(); // avoids a ConcurrentModificationException
    }
}

为此需要在 N 页中进行分页。我最初的想法是将地图拆分为地图列表...

我的意思是,FlexTable 是否有任何“数据源”?

4

1 回答 1

1

如果您确实需要使用 FlexTable 并提供分页功能,您最好使用单元格表格这么老的问题。简单的寻呼机实现了您想要的所有功能。

如果您想使用 FlexTable,您必须提供您自己的寻呼机实现。这可以通过各种方式完成,使用下一个和上一个按钮或标签添加点击处理程序并进行迭代。

地图也不是要走的路,因为物品没有以任何方式订购。我会将所有项目添加到列表中,并将所述列表用作我的数据源。

您还需要一种方法来保存当前页面和项目/页面(如果您希望在页面更改后保存它,则可能是一个静态变量)

于 2013-03-19T12:56:57.623 回答