无论如何我都会遇到这个问题:
List<Object> listArticles
只是在页面出现时不断添加数据,它会反复填充数据而不是简单地显示一次
我曾尝试在每次调用函数时声明一个tempList,但没有成功
List<PlanDefinition> tempListArticles = new List<PlanDefinition>(listArticles)
如何解决这个问题?
async protected override void OnAppearing()
{
listArticles= articleView.getArticlesFromPlan();
PopulateOrderLists(listArticles);
base.OnAppearing();
}
protected override void OnDisappearing()
{
base.OnDisappearing();
}
private void PopulateOrderLists(List<PlanDefinition> listArticles)
{
List<PlanDefinition> tempListArticles = new List<PlanDefinition>(listArticles);
OrderTemplate prod = new OrderTemplate();
for (var i = 0; i < tempListArticles.Count; i++)
{
prod = new OrderTemplate();
prod.BindingContext = tempListArticles[i].Name;
OrderInformation.Children.Add(prod);
}
}
答案 0 :(得分:2)
仅在PopulateOrderLists
尚未填充时调用listArticles
,但可以根据您要替换当前listArticles
或添加时的要求进行调整。 ..
示例:
async protected override void OnAppearing()
{
if (listArticles != null && listArticles.Count > 0)
{
listArticles= articleView.getArticlesFromPlan();
PopulateOrderLists(listArticles);
}
base.OnAppearing();
}