diff --git a/Ooui.Forms/Renderers/ListViewRenderer.cs b/Ooui.Forms/Renderers/ListViewRenderer.cs index 96dbe59..efaf229 100644 --- a/Ooui.Forms/Renderers/ListViewRenderer.cs +++ b/Ooui.Forms/Renderers/ListViewRenderer.cs @@ -48,6 +48,8 @@ namespace Ooui.Forms.Renderers protected override void Dispose(bool disposing) { + UnsubscribeCellClicks(); + base.Dispose(disposing); if (disposing && !_disposed) @@ -56,8 +58,17 @@ namespace Ooui.Forms.Renderers } } + private void UnsubscribeCellClicks() + { + foreach (var c in _cells) + { + c.Click -= ListItem_Click; + } + } + private void UpdateItems() { + UnsubscribeCellClicks(); _cells.Clear(); var items = TemplatedItemsView.TemplatedItems;