如何检测MvxListView何时绑定并已加载其绑定



我已经将MvxListView嵌入到我的CustomMvxListView中,当添加或删除子项时,我会在其中进行可视化处理。

它工作得很好,但当许多物品被捆绑时,它可能会滞后。

是否有方法检测Mvx视图控件何时绑定并加载到第一个绑定数据?

自己找到了一个好的解决方案;要在ListView中跟踪Android中的Itemsource更改,可以使用DataSetObserver。

类似:

    internal class MyObserver : DataSetObserver
{
    private readonly object view;
    public MvxListViewNonScrollableObserver(ViewToTrack view)
    {
        tView = view;
        DoSomething():
    }
    public override void OnChanged()
    {
        base.OnChanged();
        DoSomething():
    }
}

将其添加到ListView by:

    class MyMvxListView : MvxListView
{
    protected override void OnAttachedToWindow()
    {
        base.OnAttachedToWindow();
        itemsourceObserver = new MyObserver(this);
        Adapter.RegisterDataSetObserver(itemsourceObserver);
    }
    protected override void OnDetachedFromWindow()
    {
        if (itemsourceObserver != null)
        {
            Adapter.UnregisterDataSetObserver(itemsourceObserver);
            itemsourceObserver = null;
        }
        base.OnDetachedFromWindow();
    }
    public void DoSomething()
    {
    }

DoSomething()在加载后和每次项源更改时都会引发。

最新更新