My android app is crashing when using XF 4.2.0-pre1.
No exception with XF 4.1.0, so I think this is a regression.
Also, no exception with XF 4.2.0-pre1 if I use LegacyRenderers instead of FastRenderers.
The clicked item should be selected (and its color should change).
App crashes with the following exception:
07-27 19:42:53.567 I/MonoDroid(29000): Java.Lang.NullPointerException: Exception of type 'Java.Lang.NullPointerException' was thrown.
07-27 19:42:53.567 I/MonoDroid(29000): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00089] in <d62a515dd509498b9888afef1e7ee082>:0
07-27 19:42:53.567 I/MonoDroid(29000): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <d62a515dd509498b9888afef1e7ee082>:0
07-27 19:42:53.567 I/MonoDroid(29000): at Android.Widget.TextView.SetTextColor (Android.Content.Res.ColorStateList colors) [0x00031] in <91096acba71b4cd4bc97355af9ac8959>:0
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer.UpdateColor () [0x0002b] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\LabelRenderer.cs:277
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer.UpdateText () [0x00092] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\LabelRenderer.cs:359
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x0005f] in D:\a\1\s\Xamarin.Forms.Platform.Android\FastRenderers\LabelRenderer.cs:254
07-27 19:42:53.567 I/MonoDroid(29000): at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs(object,System.ComponentModel.PropertyChangedEventArgs)
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:211
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:359
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.BindableObject.ClearValue (Xamarin.Forms.BindableProperty property, System.Boolean fromStyle, System.Boolean checkAccess) [0x000c6] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:78
07-27 19:42:53.567 I/MonoDroid(29000): at Xamarin.Forms.BindableObject.ClearValue (Xamarin.Forms.BindableProperty property) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:30
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.Setter.UnApply (Xamarin.Forms.BindableObject target, System.Boolean fromStyle) [0x00084] in D:\a\1\s\Xamarin.Forms.Core\Setter.cs:102
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.TriggerBase.OnConditionChanged (Xamarin.Forms.BindableObject bindable, System.Boolean oldValue, System.Boolean newValue) [0x00074] in D:\a\1\s\Xamarin.Forms.Core\Interactivity\TriggerBase.cs:106
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindingCondition.OnBoundPropertyChanged (Xamarin.Forms.BindableObject bindable, System.Object oldValue, System.Object newValue) [0x0001d] in D:\a\1\s\Xamarin.Forms.Core\Interactivity\BindingCondition.cs:95
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x00120] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:445
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x00173] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:379
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindingExpression.ApplyCore (System.Object sourceObject, Xamarin.Forms.BindableObject target, Xamarin.Forms.BindableProperty property, System.Boolean fromTarget) [0x00220] in D:\a\1\s\Xamarin.Forms.Core\BindingExpression.cs:167
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindingExpression.Apply (System.Boolean fromTarget) [0x0003e] in D:\a\1\s\Xamarin.Forms.Core\BindingExpression.cs:57
07-27 19:42:53.568 I/MonoDroid(29000): at Xamarin.Forms.BindingExpression+BindingExpressionPart.<PropertyChanged>b__49_0 () [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindingExpression.cs:618
07-27 19:42:53.568 I/MonoDroid(29000): at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <91096acba71b4cd4bc97355af9ac8959>:0
07-27 19:42:53.568 I/MonoDroid(29000): at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00009] in <91096acba71b4cd4bc97355af9ac8959>:0
07-27 19:42:53.568 I/MonoDroid(29000): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr)
07-27 19:42:53.568 I/MonoDroid(29000): --- End of managed Java.Lang.NullPointerException stack trace ---
07-27 19:42:53.568 I/MonoDroid(29000): java.lang.NullPointerException
07-27 19:42:53.568 I/MonoDroid(29000): at android.widget.TextView.setTextColor(TextView.java:4023)
07-27 19:42:53.568 I/MonoDroid(29000): at mono.java.lang.RunnableImplementor.n_run(Native Method)
07-27 19:42:53.568 I/MonoDroid(29000): at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:30)
07-27 19:42:53.568 I/MonoDroid(29000): at android.os.Handler.handleCallback(Handler.java:790)
07-27 19:42:53.568 I/MonoDroid(29000): at android.os.Handler.dispatchMessage(Handler.java:99)
07-27 19:42:53.568 I/MonoDroid(29000): at android.os.Looper.loop(Looper.java:164)
07-27 19:42:53.568 I/MonoDroid(29000): at android.app.ActivityThread.main(ActivityThread.java:6494)
07-27 19:42:53.568 I/MonoDroid(29000): at java.lang.reflect.Method.invoke(Native Method)
07-27 19:42:53.568 I/MonoDroid(29000): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
07-27 19:42:53.568 I/MonoDroid(29000): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
I see same problem
Hi. I get analog error in pre3 version. But not see callstack, only "Java.Lang.NullPointerException". Error step: load list(in xamarin app) of items from server. Change one items in xamarin app on next comtent page. Go back. Pulltorefresh or button click to do: reload items from server. Clear list on items - No errors, download json in separate thread- no errors. Refresh pulltorefresh state, hidde indicator - no errors. But late 1-2 secons show "nullpointerexception". If downgrade project to 4.1.0.618606 - works fine. Sorry my english, dudes!
Same error on Pre 2. In my case I can correlate the issue to setting Text property of a Label if previously it had FormattedText set (and Text has null).