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 に答える