Xamarin表单ListView继续从List <object>填充数据,而不是简单地显示一次objet

时间:2018-06-19 02:43:28

标签: c# listview xamarin xamarin.forms

无论如何我都会遇到这个问题:

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);

             }

        }

1 个答案:

答案 0 :(得分:2)

仅在PopulateOrderLists尚未填充时调用listArticles,但可以根据您要替换当前listArticles或添加时的要求进行调整。 ..

示例:

async protected override void OnAppearing()
{
    if (listArticles != null && listArticles.Count > 0)
    {
       listArticles= articleView.getArticlesFromPlan();    
       PopulateOrderLists(listArticles);
    }
    base.OnAppearing();
}