如何将两个api响应数据合并为一个数据列表



我有两组api。这给了我一个数据数组的列表。

例如:

第一个api返回";postData";。第二次api返回"promotionData";。

现在我必须在一个页面中列出postdata。我使用Listview.builder来显示所有postDataapi响应数据。

现在我有promotionData,它返回另一组json数据列表。

我需要的实际输出是,我想显示postData的五个数据,然后在这五个数据之间,我必须显示promotionData的详细信息,然后显示postData详细信息。

这与FB和Twritter类似。在那里我们可以看到5个帖子和一个promoAdd数据。

我怎么能做到这一点。请帮助fnz。。。。。

只需构建一个组合列表。类似于:

// replace String to actual object that you are using
List<String> combinedList = [];
int promotionIndex = 0;
for (var postIndex=0 ; postIndex < postData.length ; postIndex++) {
if (postIndex > 0 && postIndex % 5 == 0) {
combinedList.add(promotionData[promotionIndex]);
promotionIndex++;
}
combinedList.add(postData[postIndex]);
}

如果您不想使用combinedList,您可以改为使用ListView.builder

// variable in your widget
int _promotionIndex = 0;
...
ListView.builder(
itemCount: postData.lenght + promotionData.length,
itemBuilder: (context, index) {
if((index + 1) % 5 == 0) { //important line
// return your PromotionWidget here
// access it with promotionData[promotionIndex]
promotionIndex++;
}
// return your PostWidget here
},
)

(index + 1) % 5 == 0提供了您需要的功能,因为它检查索引是否可以被5整除。

相关内容

  • 没有找到相关文章

最新更新