我在我的CustomMvxListView中使用了Inherted MvxListView,在添加或删除子项时,我可以使用可视化对象进行处理。
效果很好但是当许多物品受到约束时可能会很滞后。
有没有办法检测Mvx视图控件何时被绑定并加载到第一个绑定数据?
答案 0 :(得分:1)
自己找到了一个好的解决方案; 要在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:
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()在加载后和每个itemsource更改时都会被提升。