TextInputEditText: ArgumentNullException: missing source event information in MvxWeakEventSubscription

Suddenly, the binding for my TextInputEditText started to fail, and this has something to do with Linker. If I set the linker to "None", everything will work as intended. In addition, many other bindings are still used well.

Stack obtained:

An exception occurred during the binding of the ArgumentNullException view: there is no information about the source event in MvxWeakEventSubscription Parameter name: sourceEventInfo on MvvmCross.Platform.WeakSubscription.MvxWeakEventSubscription 2[TSource,TEventArgs]..ctor (Android.Widget.TextView source, System.Reflection.EventInfo sourceEventInfo, System.EventHandler 1 [TEventArgs] targetEventHandler) [0x00017] in D: \ git \ MvvmCross \ MvvmCross \ Platform \ Platform \ WeakSubscription \ MvxWeakEventSubscription.cs: 47 to MvvmCross.Platform.WeakSubscription.MvxWeakEventSubscription 2[TSource,TEventArgs]..ctor (Android.Widget.TextView source, System.String sourceEventName, System.EventHandler 1 [TEventArgs] targetEventHandler) [0x00000] in D: \ git \ MvvmCross \ MvvmCross \ Platform \ Platform \ WeakSubscription \ MvxWeakEventSubscriptionccs.cs: .Platform.WeakSubscription.MvxWeakSubscriptionExtensionMethods.WeakSubscri be [TSource, TEventArgs] (source TSource, System.String eventName, System.EventHandler 1[TEventArgs] eventHandler) [0x00000] in D:\git\MvvmCross\MvvmCross\Platform\Platform\WeakSubscription\MvxWeakSubscriptionExtensionMethods.cs:81 at MvvmCross.Binding.Droid.Target.MvxTextViewTextTargetBinding.SubscribeToEvents () [0x0000b] in <6a0c851a22864d0993089d65320a630c>:0 at MvvmCross.Binding.Bindings.MvxFullBinding.CreateTargetBinding (System.Object target) [0x00057] in D:\git\MvvmCross\MvvmCross\Core\Binding\Bindings\MvxFullBinding.cs:157 at MvvmCross.Binding.Bindings.MvxFullBinding..ctor (MvvmCross.Binding.MvxBindingRequest bindingRequest) [0x00028] in D:\git\MvvmCross\MvvmCross\Core\Binding\Bindings\MvxFullBinding.cs:64 at MvvmCross.Binding.Binders.MvxFromTextBinder.BindSingle (MvvmCross.Binding.MvxBindingRequest bindingRequest) [0x00000] in D:\git\MvvmCross\MvvmCross\Core\Binding\Binders\MvxFromTextBinder.cs:56 at MvvmCross.Binding.Binders.MvxFromTextBinder+<>c__DisplayClass2_0.<Bind>b__0 (MvvmCross.Binding.Bindings.MvxBindingDescription description) [0x00000] in D:\git\MvvmCross\MvvmCross\Core\Binding\Binders\MvxFromTextBinder.cs:38 at System.Linq.Enumerable+<CombineSelectors>c__AnonStorey1D 1[TEventArgs] eventHandler) [0x00000] in D:\git\MvvmCross\MvvmCross\Platform\Platform\WeakSubscription\MvxWeakSubscriptionExtensionMethods.cs:81 at MvvmCross.Binding.Droid.Target.MvxTextViewTextTargetBinding.SubscribeToEvents () [0x0000b] in <6a0c851a22864d0993089d65320a630c>:0 at MvvmCross.Binding.Bindings.MvxFullBinding.CreateTargetBinding (System.Object target) [0x00057] in D:\git\MvvmCross\MvvmCross\Core\Binding\Bindings\MvxFullBinding.cs:157 at MvvmCross.Binding.Bindings.MvxFullBinding..ctor (MvvmCross.Binding.MvxBindingRequest bindingRequest) [0x00028] in D:\git\MvvmCross\MvvmCross\Core\Binding\Bindings\MvxFullBinding.cs:64 at MvvmCross.Binding.Binders.MvxFromTextBinder.BindSingle (MvvmCross.Binding.MvxBindingRequest bindingRequest) [0x00000] in D:\git\MvvmCross\MvvmCross\Core\Binding\Binders\MvxFromTextBinder.cs:56 at MvvmCross.Binding.Binders.MvxFromTextBinder+<>c__DisplayClass2_0.<Bind>b__0 (MvvmCross.Binding.Bindings.MvxBindingDescription description) [0x00000] in D:\git\MvvmCross\MvvmCross\Core\Binding\Binders\MvxFromTextBinder.cs:38 at System.Linq.Enumerable+<CombineSelectors>c__AnonStorey1D , TMiddle, TResult]. <> m__0 (TSource x) [0x00012] at: 0 in System.Linq.Enumerable + c__AnonStorey1D 3[TSource,TMiddle,TResult].<>m__0 (TSource x) [0x00000] in <fcebdd9506364c04ba70cbb6c51ded52>:0 at System.Linq.Enumerable+WhereSelectEnumerableIterator 2 [TSource, TResult] .MoveNext () [0x00064] at: 0 in System.Collections.Generic.List 1[T].InsertRange (System.Int32 index, System.Collections.Generic.IEnumerable 1 [T ] collection) [0x000ff] in <2f8f5c28c7474bed8a8f35ed56258fb1>: 0 System.Collections.Generic.List 1[T].AddRange (System.Collections.Generic.IEnumerable 1 [T] collection) [0x00000] in <2f8f5c28c7474bed8a8f35ed56258fb1>: 0 MvvmCross.Binding.Droid.Binders.MvxAndroidViewBinder.StoreBindings (Android.Views.View view, System.Collections.Generic.IEnumerable`1 [T] newBindings) [0x00028] at <6a0c851a22864d0993089d65320a630c>: Binders.Dvvm .MvxAndroidViewBinder.ApplyBindingsFromAttribute (Android.Views.View view, Android.Content.Res.TypedArray typedArray, System.Int32 att ributeId) [0x0001c] at <6a0c851a22864d0993089d65320a630c>: 0

I already added the following to "LinkerPleaseInclude", but that didn't help.

  public void Include(TextInputEditText text) { text.TextChanged += (sender, args) => text.Text = "" + text.Text; text.Hint = "" + text.Hint; text.Background = (Drawable)Android.Resource.Color.Black; text.Text = "Text" + text.Text; } public void Include(TextInputLayout text) { text.Hint = "" + text.Hint; text.Background = (Drawable)Android.Resource.Color.Black; } 

Changing TextInputEditText to a simple EditText does not help and raises the same exception.

What am I missing? I am not getting closer to the solution by looking at the stack.

+5
source share
1 answer

After some digging, I found this answer , which shows that a change has occurred in the new version (v4.4.0) of MvvmCross, which requires the settings in this section for TextView in your project LinkerPleaseInclude.cs

+4
source

Source: https://habr.com/ru/post/1261251/


All Articles