Stack Exchange
mvvmcross Android. Cannot access a disposed object on Enabled Binding
After repeating visiting screen, I get next error:

System.ObjectDisposedException: Cannot access a disposed object. at
  Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable
  self) [0x00029] in <286213b9e14c442ba8d8d94cc9dbec8e>:0  07-03
  11:29:51.230 I/MonoDroid(20631):   at
  Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod
  (System.String encodedMember, Java.Interop.IJavaPeerable self,
  Java.Interop.JniArgumentValue* parameters) [0x00000] in
  <286213b9e14c442ba8d8d94cc9dbec8e>:0  07-03 11:29:51.230
  I/MonoDroid(20631):   at Android.Views.View.set_Enabled
  (System.Boolean value) [0x00022] in
  :0  07-03 11:29:51.230
  I/MonoDroid(20631):   at
  MvvmCross.Platforms.Android.Binding.Target.MvxViewClickBinding.RefreshEnabledState
  () [0x00022] in
  C:\projects\mvvmcross\MvvmCross\Platforms\Android\Binding\Target\MvxViewClickBinding.cs:64
  07-03 11:29:51.230 I/MonoDroid(20631):   at
  MvvmCross.Platforms.Android.Binding.Target.MvxViewClickBinding.OnCanExecuteChanged
  (System.Object sender, System.EventArgs e) [0x00000] in
  C:\projects\mvvmcross\MvvmCross\Platforms\Android\Binding\Target\MvxViewClickBinding.cs:69
  07-03 11:29:51.230 I/MonoDroid(20631):   at (wrapper
  managed-to-native)
  System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  07-03 11:29:51.230 I/MonoDroid(20631):   at
  System.Reflection.MonoMethod.Invoke (System.Object obj,
  System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder
  binder, System.Object[] parameters, System.Globalization.CultureInfo
  culture) [0x0003b] in :0  07-03
  11:29:51.230 I/MonoDroid(20631):    --- End of inner exception stack
  trace --- 07-03 11:29:51.230 I/MonoDroid(20631):   at
  System.Reflection.MonoMethod.Invoke (System.Object obj,
  System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder
  binder, System.Object[] parameters, System.Globalization.CultureInfo
  culture) [0x00054] in :0  07-03
  11:29:51.230 I/MonoDroid(20631):   at
  System.Reflection.MethodBase.Invoke (System.Object obj,
  System.Object[] parameters) [0x00000] in
  :0  07-03 11:29:51.230
  I/MonoDroid(20631):   at
  MvvmCross.WeakSubscription.MvxWeakEventSubscription`2[TSource,TEventArgs].OnSourceEvent
  (System.Object sender, TEventArgs e) [0x0000a] in
  C:\projects\mvvmcross\MvvmCross\WeakSubscription\MvxWeakEventSubscription.cs:74
  07-03 11:29:51.230 I/MonoDroid(20631):   at
  MvvmCross.Commands.MvxWeakCommandHelper.RaiseCanExecuteChanged
  (System.Object sender) [0x00014] in
  C:\projects\mvvmcross\MvvmCross\Commands\MvxCommand.cs:96  07-03
  11:29:51.230 I/MonoDroid(20631):   at
  MvvmCross.Commands.MvxCommandBase.b__9_0 ()
  [0x00000] in
  C:\projects\mvvmcross\MvvmCross\Commands\MvxCommand.cs:135

Not sure, if this android or mvvmcross issue. Can I avoid invoking view in MvxViewClickBinding, if it disposed?

I guess you could write a static extension method for Java.Lang.Object like below:
public static class ObjectExtensions
{
    public static bool IsDisposedOrNull(this Object objectValue)
    {
        return objectValue?.Handle == IntPtr.Zero;
    }
}


Need to insert this code in mvvmcross binding. Not sure, how override it(just using RegisterCustomBindingFactory for View not working). I found, that I can override MvxAndroidBindingBuilder and copy all bindings creations, but it's not good solution
