我已经将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()在加载后和每次项源更改时都会引发。