微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Xamarin 表单集合视图分页

如何解决Xamarin 表单集合视图分页

我想以 xamarin 形式实现分页,实际上我还没有为任何移动应用程序做过这个,所以这是我第一次。我正在使用 collection viewremainingItemThreshold 并且正在触发事件但没有添加项目。我认为这是一个很好的逻辑,但我认为我错过了一些东西。提前致谢!

        private async void Init()
    {
        SetViews();

        Methods.SetFlowDirection(this);

        Methods.BeforeChecking(activityIndicator,parent);

        GetordersApiResponse response = await OrdersPageLogic.Getorders();

        Methods.AfterChecking(activityIndicator,parent);
        //
        // get all orders
        orders = response.Orders;
        
        toRange = orders.Count >= pagination ? pagination : orders.Count;

        // only show first 10 items
        ordersToShow = orders.GetRange(0,toRange);

        // remove fetched items
        orders.RemoveRange(0,toRange);

        ordersCollView.ItemsSource = ordersToShow;
        
        ordersCollView.RemainingItemsThreshold = 2;

        ordersCollView.RemainingItemsThresholdReached += (s,e) => ordersCollView_RemainingItemsThresholdReached(s,e);
    }

    private void ordersCollView_RemainingItemsThresholdReached(object s,EventArgs e)
    {
        int count = 0;
        int to = 0;

        if (orders.Count == 0)
            return;

        to = pagination >= orders.Count ? orders.Count : pagination;

        foreach(var order in orders.GetRange(0,to))
        {
            if (count == pagination)
                break;

            ordersToShow.Add(order);
            count++;
        }

        // remove fetched items
        orders.RemoveRange(0,to);
    }

解决方法

所以感谢@Jason,似乎项目源(在我的情况下 ordersToShow)必须是可观察集合而不是列表

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。